200多个js技巧代码(七)
199.模式窗口 父窗口 var url="aaa.jsp"; var data=showModalDialog(url,null,"dialogHeight:400px;dialogHeight:600px;center:yes;help:No;status:no;resizab le:Yes;edge:sunken"); if(data) alert(data.value); 子窗口 var data=new Object(); data.value1="china"; window.returnValue=data; window.close(); 200.动态设置事件,带参数 <INPUT TYPE="text" NAME="a1"> <SCRIPT LANGUAGE="JavaScript"> <!-- function hah(para) { alert(para) } a1.onclick=function() { hah('canshu ') } //a1.attachEvent("onclick",function(){hah('参数')}); //--> </SCRIPT>// 201.将url转化为16进制形式 var ret = ''; for(var i=0; i < str.length; i++) { var ch = str.charAt(i); var code = str.charCodeAt(i); if(code < 128 && ch != '[' && ch != '\'' && ch != '=') { ret += ch; } else { ret += "[" + code.toString(16) + "]"; } } return ret;// 202.打开新的窗口并将新打开的窗口设置为活动窗口 var newWin=window.open("xxxx"); newWin.focus();// 203.容错脚本 JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError function handleError(message, URI, line) {// 提示用户,该页可能不能正确回应 return true; // 这将终止默认信息 }//在页面出错时进行操作 204.JS中的窗口重定向: window.navigate("http://www.sina.com.cn");// 205.防止链接文字折行 document.body.noWrap=true;// 206.判断字符是否匹配. string.match(regExpression)// 207. href="javascript:document.Form.Name.value='test';void(0);"//不能用onClick="javacript:document.Form.Name.v alue='test';return false;" 当使用inline方式添加事件处理脚本事,有一个被包装成匿名函数的过程,也就是说 onClick="javacript:document.Form.Name.value='test';return false;"被包装成了: functoin anonymous() { document.Form.Name.value='test';return false; } 做为A的成员函数onclick。 而href="javascript:document.Form.Name.value='test';void(0);"相当于执行全局语句,这时如果使用return语句会 报告在函数外使用return语句的错误。 208.进行页面放大 <P onmouseover="this.style.zoom='200%'" onmouseout="this.style.zoom='normal'"> sdsdsdsdsdsdsdsds </p>// 209.放置在页面的最右边 <input type="text" value='bu2' style="float:right">// 210.通过style来控制隔行显示不同颜色 <style> tr{ bgcolor:expression(this.bgColor=((this.rowIndex)%2==0 )? 'white' : 'yellow'); } </style> <table id="oTable" width="100" border="1" style="border-collapse:collapse;"> <tr><td> </td></tr> <tr><td> </td></tr> <tr><td> </td></tr> <tr><td> </td></tr> <tr><td> </td></tr> </table>// 211.全屏最大化 newwindow=window.open("","","scrollbars") if (document.all) { newwindow.moveTo(0,0) newwindow.resizeTo(screen.width,screen.height) }// 212.根据名字解析xml中的节点值 var XMLDoc=new ActiveXObject("MSXML"); XMLDoc.url="d:/abc.xml"; aRoot=XMLDoc.root; a1.innerText=aRoot.children.item("name").text;// 213.在页面上解析xml的值 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/5996c682-3472-4b03-9fb0-1e08 fcccdf35.asp // 214.看一个字符串里面有多少个回车符,返回值是一个数组 var s=value.match(/\n/g);if(s)if(s.length==9){alert('10行了');return false;}// 215.获得asc码 var s='aa'; alert(s.charCodeAt(1))// 216.文字居右对齐 <input type="text" value="123" style="text-align:right">// 217.判断一个方法是否存在 function pageCallback(response){ alert(response); } if(pageCallback) alert(1)// 218.判断一个变量是否定义 if(typeof(a)=="undefined") { alert() }// 219.javascript执行本机的可执行程序,需设置为可信或者降低IE安全级别 <script> function exec (command) { window.oldOnError = window.onerror; window._command = command; window.onerror = function (err) { if (err.indexOf('utomation') != -1) { alert('命令已经被用户禁止!'); return true; } else return false; }; var wsh = new ActiveXObject('WScript.Shell'); if (wsh) wsh.Run(command); window.onerror = window.oldOnError; } </script> 调用方式 <a href="javascript:" onclick="exec('D:/test.bat')">测试</a>// 220.弹出新页面,关闭旧页面,不弹出提示框 var w=screen.availWidth-10; var h=screen.availHeight-10; var swin=window.open("/mc/mc/message_management.jsp", "BGSMbest","scrollbars=yes,status,location=0,menubar=0,toolbar=0,resizable=no,top=0,left=0,height="+h+",w idth="+w); window.opener=null; window.close();// 221.能输入的下拉框 <span> <input name="Department1" id="Department1" style=" border-right:0;width:130" autocomplete="off"> <span style="width:150;overflow:hidden"> <select style="width:150;margin-left:-130" onChange="Department1.value=value"> <option value=""></option> <option value="asdfasfadf">asdfasfadf</option> <option value="546546">546546</option></select> // 222.在方法中定义全局变量 function globalVar (script) { eval(script);//all navigators //window.execScript(script); //for ie only } globalVar('window.haha = "../system";'); alert(haha);//在方法中定义全局变量,其中的haha就是全局变量了 223.显示一个对象的全部的属性和属性的值 var a=new Object(); a.name='a1'; a.***='mail' for(var p in a) { alert(p+"="+a[p]) }// 224.16进制转换成10进制 var n = parseInt("2AE",16);//这里将16进制的 2AE 转成 10 进制数,得到 n 的值是 686 225.复制粘贴 <BODY> <input type="file" name='a1'><input type="button" value='复制粘贴' onclick="haha()"><div id="aa"></div> <SCRIPT LANGUAGE="JavaScript"> <!-- function haha() { clipboardData.setData("Text",a1.value); aa.innerText=clipboardData.getData("Text"); } //--> </SCRIPT> </BODY>// 226.获得对象类型 switch (object.constructor){ case Date: ... case Number: ... case String: ... case MyObject: ... default: ... }// 227.图片加载失败时重新加载图片 <img src="aa.gif" onerror="this.src='aa.gif'">// 228. //font_effect.htc <PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="glowit()" /> <PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="noglow()" /> <SCRIPT LANGUAGE="JScript"> //定义一个保存字体颜色的变量 var color; function glowit() { color=element.style.backgroundColor; element.style.backgroundColor='white' } function noglow() { element.style.backgroundColor=color } </SCRIPT> //abc.css tr{behavior:url(font_effect.htc);} 229.可以通过css和htc改变表格的颜色,仅IE支持 //xxx.html <link rel="stylesheet" type="text/css" href="abc.css"> <TABLE border='1' id="a1"> <TR style="background-color:red"> <TD>1</TD> <TD>2</TD> <TD>3</TD> </TR> <TR style="background-color:yellow"> <TD>4</TD> <TD>5</TD> <TD>6</TD> </TR> </TABLE>// 230.在页面上画点 function a(x,y,color) { document.write("<img border='0' style='position: absolute; left: "+(x+20)+"; top: "+(y+20)+";background-color: "+color+"' width=1 height=1>") }// 231.自动关闭网页 <script LANGUAGE="javascript"> <!-- setTimeout('window.close();', 10000); //60秒后关闭 // --> </script> <p align="center">本页10秒后自动关闭,请注意刷新页面</p>