javascript 应用小技巧方法汇总
javascript在前端应用体验小技巧继续积累。
事件源对象event.srcElement.tagName event.srcElement.type 捕获释放event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键event.keyCodeevent.shiftKey event.altKeyevent.ctrlKey 事件返回值event.returnValue 鼠标位置event.xevent.y 窗体活动元素document.activeElement 绑定事件 document.captureEvents(Event.KEYDOWN); 访问窗体元素document.all("txt").focus(); document.all("txt").select(); 窗体命令document.execCommand 窗体COOKIEdocument.cookie 菜单事件document.oncontextmenu 创建元素document.createElement("SPAN"); 根据鼠标获得元素: document.elementFromPoint(event.x,event.y).tagName=="TD document.elementFromPoint(event.x,event.y).appendChild(ms) 窗体图片document.images[索引] 窗体事件绑定 document.onmousedown=scrollwindow; 元素document.窗体.elements[索引] 对象绑定事件 document.all.xxx.detachEvent('onclick',a); 插件数目navigator.plugins 取变量类型typeof($js_libpath)=="undefined" 下拉框下拉框.options[索引] 下拉框.options.length 查找对象document.getElementsByName("r1"); document.getElementById(id); 定时 timer=setInterval('scrollwindow()',delay); clearInterval(timer); UNCODE编码escape(),unescape 父对象obj.parentElement(dhtml) obj.parentNode(dom) 交换表的行TableID.moveRow(2,1) 替换CSSdocument.all.csss.href="a.css"; 并排显示display:inline 隐藏焦点hidefocus=true 根据宽度换行 style="word-break:break-all" 自动刷新<metaHTTP-EQUIV="refresh"CONTENT="8;URL=http://c98.yeah.net"> 简单邮件<ahref="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy"> 快速转到位置 obj.scrollIntoView(true) 锚<aname="first"><ahref="#first">anchors</a> 网页传递参数location.search(); 可编辑obj.contenteditable=true 执行菜单命令obj.execCommand 双字节字符/[^\x00-\xff]/汉字 /[\u4e00-\u9fa5]/ 让英文字符串超出表格宽度自动换行word-wrap:break-word;word-break:break-all; 透明背景<IFRAMEsrc="1.htm"width=300height=180allowtransparency></iframe> 获得style内容obj.style.cssText HTML标签 document.documentElement.innerHTML 第一个style标签document.styleSheets[0] style标签里的第一个样式 document.styleSheets[0].rules[0] 防止点击空链接时,页面往往重置到页首端。<ahref="javascript:function()">word</a> 上一网页源asp:request.servervariables("HTTP_REFERER") javascript:document.referrer 释放内存CollectGarbage(); 禁止右键document.oncontextmenu=function(){returnfalse;} 禁止保存<noscript><iframesrc="*.htm"></iframe></noscript> 禁止选取<bodyoncontextmenu="returnfalse"ondragstart="returnfalse"onselectstart="returnfalse"onselect="document.selection.empty()"oncopy="document.selection.empty()"onbeforecopy="returnfalse"onmouseup="document.selection.empty()> 禁止粘贴<inputtype=textonpaste="returnfalse"> 地址栏图标<linkrel="ShortcutIcon"href="favicon.ico">favicon.ico名字最好不变16*16的16色,放虚拟目录根目录下 收藏栏图标<linkrel="Bookmark"href="favicon.ico"> 查看源码<inputtype=buttonvalue=查看网页源代码onclick="window.location='view-source:'+'http://www.csdn.net/'"> 关闭输入法<inputstyle="ime-mode:disabled"> 自动全选<inputtype=textname=text1value="123"onfocus="this.select()"> ENTER键可以让光标移到下一个输入框<inputonkeydown="if(event.keyCode==13)event.keyCode=9"> 文本框的默认值<inputtype=textvalue="123"onfocus="alert(this.defaultValue)"> title换行obj.title="123
sdfs " 获得时间所代表的微秒varn1=newDate("2004-10-10".replace(/-/g,"\/")).getTime() 窗口是否关闭win.closed checkbox扁平<inputtype=checkboxstyle="position:absolute;clip:rect(5px15px15px5px)"><br> 获取选中内容 document.selection.createRange().duplicate().text 自动完成功能<inputtype=textautocomplete=on>打开该功能 <inputtype=textautocomplete=off>关闭该功能 窗口最大化<bodyonload="window.resizeTo(window.screen.width-4,window.screen.height-50);window.moveTo(-4,-4)"> 无关闭按钮IEwindow.open("aa.htm","meizz","fullscreen=7"); 统一编码/解码 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as=hehe")))encodeURIComponent对":"、"/"、";"和"?"也编码 表格行指示<tronmouseover="this.bgColor='#f0f0f0'"onmouseout="this.bgColor='#ffffff'">
//各种尺寸
s+="\r\n网页可见区域宽:"+document.body.clientWidth; s+="\r\n网页可见区域高:"+document.body.clientHeight; s+="\r\n网页可见区域高:"+document.body.offsetWeight+"(包括边线的宽)";s+="\r\n网页可见区域高:"+document.body.offsetHeight+"(包括边线的宽)";s+="\r\n网页正文全文宽:"+document.body.scrollWidth; s+="\r\n网页正文全文高:"+document.body.scrollHeight; s+="\r\n网页被卷去的高:"+document.body.scrollTop; s+="\r\n网页被卷去的左:"+document.body.scrollLeft; s+="\r\n网页正文部分上:"+window.screenTop; s+="\r\n网页正文部分左:"+window.screenLeft; s+="\r\n屏幕分辨率的高:"+window.screen.height; s+="\r\n屏幕分辨率的宽:"+window.screen.width; s+="\r\n屏幕可用工作区高度:"+window.screen.availHeight; s+="\r\n屏幕可用工作区宽度:"+window.screen.availWidth;
//过滤数字
<inputtype=textonkeypress="returnevent.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)"onpaste="return!clipboardData.getData('text').match(/\D/)"ondragenter="returnfalse">
//特殊用途
<inputtype=buttonvalue=导入收藏夹onclick="window.external.ImportExportFavorites(true,'http://localhost');"><inputtype=buttonvalue=导出收藏夹onclick="window.external.ImportExportFavorites(false,'http://localhost');"><inputtype=buttonvalue=整理收藏夹onclick="window.external.ShowBrowserUI('OrganizeFavorites',null)"> <inputtype=buttonvalue=语言设置 onclick="window.external.ShowBrowserUI('LanguageDialog',null)"> <inputtype=buttonvalue=加入收藏夹onclick="window.external.AddFavorite('http://www.google.com/','google')"><inputtype=buttonvalue=加入到频道onclick="window.external.addChannel('http://www.google.com/')"><inputtype=buttonvalue=加入到频道onclick="window.external.showBrowserUI('PrivacySettings',null)">
//不缓存
<METAHTTP-EQUIV="pragma"CONTENT="no-cache"><METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate"> <METAHTTP-EQUIV="expires"CONTENT="0">
//正则匹配
匹配中文字符的正则表达式:[\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s|]*\r 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*)\/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数) 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?以下是例子:利用正则表达式限制网页表单里的文本框输入内容:用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" 1.用正则表达式限制只能输入全角字符:onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" 2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
//消除图像工具栏
<IMGSRC="mypicture.jpg"HEIGHT="100px"WIDTH="100px"GALLERYIMG="false"> or<head> <metahttp-equiv="imagetoolbar"content="no"></head>
//无提示关闭
functionClose(){varua=navigator.userAgentvarie=navigator.appName=="MicrosoftInternetExplorer"?true:falseif(ie){ varIEversion=parseFloat(ua.substring(ua.indexOf("MSIE")+5,ua.indexOf(";",ua.indexOf("MSIE")))) if(IEversion<5.5) { varstr ='<objectid=noTipCloseclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">' str+='<paramname="Command"value="Close"></object>'; document.body.insertAdjacentHTML("beforeEnd",str); document.all.noTipClose.Click(); } else { window.opener=null; window.close(); } }else{ window.close() }}
//取得控件得绝对位置(1)
<scriptlanguage="javascript"> functiongetoffset(e){ vart=e.offsetTop; varl=e.offsetLeft; while(e=e.offsetParent){ t+=e.offsetTop; l+=e.offsetLeft; } varrec=newArray(1); rec[0] =t;rec[1]=l;returnrec} </script>
//获得控件的绝对位置(2)
oRect=obj.getBoundingClientRect(); oRect.leftoRect.
//最小化,最大化,关闭
<objectid=minclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <paramname="Command"value="Minimize"></object> <objectid=maxclassid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <paramname="Command"value="Maximize"></object> <OBJECTid=closeclassid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <PARAMNAME="Command"value="Close"></OBJECT> <inputtype=buttonvalue=最小化onclick=min.Click()> <inputtype=buttonvalue=最大化onclick=max.Click()> <inputtype=buttonvalue=关闭onclick=close.Click()>
//光标停在文字最后
<scriptlanguage="javascript">functioncc(){vare=event.srcElement;varr=e.createTextRange(); r.moveStart('character',e.value.length);r.collapse(true);r.select();}</script> <inputtype=textname=text1value="123"onfocus="cc()">
//页面进入和退出的特效
进入页面<metahttp-equiv="Page-Enter"content="revealTrans(duration=x,transition=y)">
推出页面<metahttp-equiv="Page-Exit"content="revealTrans(duration=x,transition=y)">
这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。transition表示使用哪种特效,取值为1-23:
0矩形缩小 1矩形扩大 2圆形缩小3圆形扩大 4下到上刷新
5上到下刷新6左到右刷新 7右到左刷新 8竖百叶窗9横百叶窗
10错位横百叶窗 11错位竖百叶窗12点扩散 13左右到中间刷新
14中间到左右刷新15中间到上下16上下到中间 17右下到左上18右上到左下
19左上到右下 20左下到右上21横条 22竖条 23
//网页是否被检索
<metaname="ROBOTS"content="属性值">其中属性值有以下一些:属性值为"all":文件将被检索,且页上链接可被查询;属性值为"none":文件不被检索,而且不查询页上的链接;属性值为"index":文件将被检索;属性值为"follow":查询页上的链接;属性值为"noindex":文件不检索,但可被查询链接;属性值为"nofollow":
//打印分页
<p style="page-break-after:always">page1</p>
<p style="page-break-after:always">page2</p>
//设置打印
<objectid="factory"style="display:none"viewastextclassid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"></object> <inputtype=buttonvalue=页面设置onclick="factory.printing.PageSetup()"> <inputtype=buttonvalue=打印预览onclick="factory.printing.Preview()"> <scriptlanguage=javascript>functionwindow.onload(){//--advancedfeaturesfactory.printing.SetMarginMeasure(2)//measuremarginsininchesfactory.printing.SetPageRange(false,1,3)//needpagesfrom1to3factory.printing.printer="HPDeskJet870C" factory.printing.copies=2factory.printing.collate=true factory.printing.paperSize="A4" factory.printing.paperSource="Manualfeed"//--basicfeaturesfactory.printing.header="居左显示&b居中显示&b居右显示页码,第&p页/共&P页" factory.printing.footer="(自定义页脚)" factory.printing.portrait=false factory.printing.leftMargin=0.75 factory.printing.topMargin=1.5 factory.printing.rightMargin=0.75 factory.printing.bottomMargin=1.5}functionPrint(frame){ factory.printing.Print(true,frame)//printwithprompt}</script> <inputtype=buttonvalue="打印本页"onclick="factory.printing.Print(false)"> <inputtype=buttonvalue="页面设置"onclick="factory.printing.PageSetup()"> <inputtype=buttonvalue="打印预览"onclick="factory.printing.Preview()"><br> <ahref="http://www.meadroid.com/scriptx/docs/printdoc.htm?static"target=_blank>具体使用手册,更多信息,点这里</a>
//自带的打印预览
WebBrowser.ExecWB(1,1)打开 Web.ExecWB(2,1)关闭现在所有的IE窗口,并打开一个新窗口Web.ExecWB(4,1)保存网页 Web.ExecWB(6,1)打印Web.ExecWB(7,1)打印预览Web.ExecWB(8,1)打印页面设置 Web.ExecWB(10,1)查看页面属性Web.ExecWB(15,1)好像是撤销,有待确认 Web.ExecWB(17,1)全选Web.ExecWB(22,1)刷新Web.ExecWB(45,1)关闭窗体无提示 <stylemedia=print> .Noprint{display:none;}<!--用本样式在打印时隐藏非打印项目--> .PageNext{page-break-after:always;}<!--控制分页--></style> <objectid="WebBrowser"width=0height=0classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> </object><centerclass="Noprint"> <inputtype=buttonvalue=打印onclick=document.all.WebBrowser.ExecWB(6,1)> <inputtype=buttonvalue=直接打印onclick=document.all.WebBrowser.ExecWB(6,6)> <inputtype=buttonvalue=页面设置onclick=document.all.WebBrowser.ExecWB(8,1)> </p> <p><inputtype=buttonvalue=打印预览onclick=document.all.WebBrowser.ExecWB(7,1)> </center>
//去掉打印时的页眉页脚
<scriptlanguage="JavaScript">varHKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root="HKEY_CURRENT_USER"; HKEY_Path="\\Software\\Microsoft\\InternetExplorer\\PageSetup\\"; //设置网页打印的页眉页脚为空functionPageSetup_Null(){try{ varWsh=newActiveXObject("WScript.Shell");HKEY_Key="header"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");HKEY_Key="footer"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");}catch(e){}}//设置网页打印的页眉页脚为默认值functionPageSetup_Default(){try {varWsh=newActiveXObject("WScript.Shell");HKEY_Key="header"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b页码,&p/&P"); HKEY_Key="footer"; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");}catch(e){}}</script> <inputtype="button"value="清空页码"onclick=PageSetup_Null()> <inputtype="button"value="恢复页码"onclick=PageSetup_Default()>
//浏览器验证
functioncheckBrowser(){this.ver=navigator.appVersionthis.dom=document.getElementById?1:0this.ie6=(this.ver.indexOf("MSIE6")>-1&&this.dom)?1:0;this.ie5=(this.ver.indexOf("MSIE5")>-1&&this.dom)?1:0;this.ie4=(document.all&&!this.dom)?1:0;this.ns5=(this.dom&&parseInt(this.ver)>=5)?1:0;this.ns4=(document.layers&&!this.dom)?1:0;this.mac=(this.ver.indexOf('Mac')>-1)?1:0; this.ope=(navigator.userAgent.indexOf('Opera')>-1); this.ie=(this.ie6||this.ie5||this.ie4)this.ns=(this.ns4||this.ns5)this.bw=(this.ie6||this.ie5||this.ie4||this.ns5||this.ns4||this.mac||this.ope)this.nbw=(!this.bw)returnthis; }
//计算内容宽和高
<SCRIPTlanguage="javascript">functiontest(obj){varrange=obj.createTextRange(); alert("内容区宽度:"+range.boundingWidth +"px\r\n内容区高度:"+range.boundingHeight+"px");} </SCRIPT><BODY><Textareaid="txt"height="150">sdf</textarea><INPUTtype="button"value="计算内容宽度"onClick="test(txt)"></BODY>
//无模式的提示框
functionmodelessAlert(Msg){ window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"); }
//屏蔽按键
<html> <head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"> <noscript><metahttp-equiv="refresh"content="0;url=about:noscript"></noscript> <title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title> </head><body><scriptlanguage="Javascript"><!--//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键//Author:meizz(梅花雨)2002-6-18functiondocument.oncontextmenu(){event.returnValue=false;}//屏蔽鼠标右键functionwindow.onhelp(){returnfalse}//屏蔽F1帮助functiondocument.onkeydown() {if((window.event.altKey)&& ((window.event.keyCode==37)||//屏蔽Alt+方向键←(window.event.keyCode==39)))//屏蔽Alt+方向键→{alert("不准你使用ALT+方向键前进或后退网页!"); event.returnValue=false;} /*注:这还不是真正地屏蔽Alt+方向键, 因为Alt+方向键弹出警告框时,按住Alt键不放,用鼠标点掉警告框,这种屏蔽方法就失效了。以后若 有哪位高手有真正屏蔽Alt键的方法,请告知。*/if((event.keyCode==8)||//屏蔽退格删除键(event.keyCode==116)||//屏蔽F5刷新键(event.ctrlKey&&event.keyCode==82)){//Ctrl+Revent.keyCode=0; event.returnValue=false;} if(event.keyCode==122){event.keyCode=0;event.returnValue=false;}//屏蔽F11if(event.ctrlKey&&event.keyCode==78)event.returnValue=false;//屏蔽Ctrl+nif(event.shiftKey&&event.keyCode==121)event.returnValue=false;//屏蔽shift+F10if(window.event.srcElement.tagName=="A"&&window.event.shiftKey) window.event.returnValue=false;//屏蔽shift加鼠标左键新开一网页if((window.event.altKey)&&(window.event.keyCode==115))//屏蔽Alt+F4{ window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); returnfalse;}}</script> 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</body>
</html>
//屏蔽打印<style>@mediaprint{*{display:none}}</style>
//移动的图层,拖动
1.<spanstyle='position:absolute;width:200;height:200;background:red'onmousedown=MouseDown(this)onmousemove=MouseMove()onmouseup=MouseUp()>meizz</span> <scriptlanguage=javascript>varObj;functionMouseDown(obj){Obj=obj; Obj.setCapture();Obj.l=event.x-Obj.style.pixelLeft; Obj.t=event.y-Obj.style.pixelTop;}functionMouseMove(){if(Obj!=null) {Obj.style.left=event.x-Obj.l; Obj.style.top=event.y-Obj.t;}}functionMouseUp(){if(Obj!=null) {Obj.releaseCapture();Obj=null;}}</script>2. <divid="myDiv"src="logo.gif"ondrag="doDrag();"onmouseover="this.style.cursor='hand'"style="position:absolute;left=100;top=100;"onmousedown="doMouseDown();"><ahref="#"onclick="returnfalse"><h1>wlecome</h1></a> </div><scriptlanguage="JavaScript"type="text/javascript">varorgMouseX;varorgMouseY;varorgObjX;varorgObjY;functiondoDrag(){varmyObject=document.all.myDiv; varx=event.clientX;vary=event.clientY; myObject.style.left=x-(orgMouseX-orgObjX); myObject.style.top=y-(orgMouseY-orgObjY);}functiondoMouseDown(){ orgMouseX=event.clientX;orgMouseY=event.clientY; orgObjX=parseInt(document.all.myDiv.style.left); orgObjY=parseInt(document.all.myDiv.style.top);} </script>
//文档状态改变
<iframesrc="a.html"id="f"name="f"scrolling="no"frameborder=0marginwidth=0marginheight=0></iframe> <script>vardoc=window.frames["f"].document;functions(){if(doc.readyState=="complete"){ document.all.f.style.height=doc.body.scrollHeight document.all.f.style.width=doc.body.scrollWidth}} doc.onreadystatechange=s</script>
//刷新后不变的文本框
<HTML> <HEAD><METANAME="save"CONTENT="history"><STYLE> .sHistory{behavior:url(#default#savehistory);}</STYLE> </HEAD><BODY> <INPUTclass="sHistory"type=textid=oPersistInput></BODY> </HTML>
//访问剪贴板
(1)拖拽访问
event.dataTransfer.setData("URL",oImage.src); sImageURL=event.dataTransfer.getData("URL")(2)普通访问 window.clipboardData.setData("Text",oSource.innerText); window.clipboardData.getData("Text");
//操作COOKIE
functionSetCookie(sName,sValue){ document.cookie=sName+"="+escape(sValue)+";";}functionGetCookie(sName){varaCookie=document.cookie.split(";");for(vari=0;i<aCookie.length;i++){ varaCrumb=aCookie[i].split("=");if(sName==aCrumb[0])returnunescape(aCrumb[1]);}} functionDelCookie(sName){ document.cookie=sName+"="+escape(sValue)+";expires=Fri,31Dec199923:59:59GMT;";}
//setTimeout增加参数
<script> var_st=window.setTimeout; window.setTimeout=function(fRef,mDelay){if(typeoffRef=='function'){ varargu=Array.prototype.slice.call(arguments,2); varf=(function(){fRef.apply(null,argu);}); return_st(f,mDelay);}return_st(fRef,mDelay);}functiontest(x){alert(x);} window.setTimeout(test,1000,'fason');</script>
//自定义的apply,call
Function.prototype.apply=function(obj,argu){if(obj)obj.constructor.prototype._caller=this; varargus=newArray(); for(vari=0;i<argu.length;i++) argus[i]="argu["+i+"]";varr;eval("r="+(obj?("obj._caller("+argus.join(",")+");"):("this("+argus.join(",")+");")));returnr;}; Function.prototype.call=function(obj){varargu=newArray(); for(vari=1;i<arguments.length;i++) argu[i-1]=arguments[i];returnthis.apply(obj,argu);};
//下载文件
functionDownURL(strRemoteURL,strLocalURL){ try{ varxmlHTTP=newActiveXObject("Microsoft.XMLHTTP"); xmlHTTP.open("Get",strRemoteURL,false); xmlHTTP.send(); varadodbStream=newActiveXObject("ADODB.Stream"); adodbStream.Type=1;//1=adTypeBinary adodbStream.Open(); adodbStream.write(xmlHTTP.responseBody); adodbStream.SaveToFile(strLocalURL,2); adodbStream.Close(); adodbStream=null; xmlHTTP=null; }catch(e){ window.confirm("下载URL出错!");}//window.confirm("下载完成.");}
//检验连接是否有效
functiongetXML(URL) {varxmlhttp=newActiveXObject("microsoft.xmlhttp");xmlhttp.Open("GET",URL,false); try{ xmlhttp.Send(); }catch(e){}finally { varresult=xmlhttp.responseText; if(result) { if(xmlhttp.Status==200) { return(true); } else { return(false); } } else { return(false); }}}
//POST代替FORM
<SCRIPTlanguage="VBScript">FunctionURLEncoding(vstrIn) strReturn="" Fori=1ToLen(vstrIn) ThisChr=Mid(vStrIn,i,1) IfAbs(Asc(ThisChr))<&HFFThen strReturn=strReturn&ThisChr Else innerCode=Asc(ThisChr) IfinnerCode<0Then innerCode=innerCode+&H10000 EndIf Hight8=(innerCode And&HFF00)\&HFF Low8=innerCodeAnd&HFF strReturn=strReturn&"%"&Hex(Hight8)& "%"&Hex(Low8) EndIf Next URLEncoding=strReturnEndFunction Functionbytes2BSTR(vIn) strReturn="" Fori=1ToLenB(vIn) ThisCharCode=AscB(MidB(vIn,i,1)) IfThisCharCode<&H80Then strReturn=strReturn&Chr(ThisCharCode) Else NextCharCode=AscB(MidB(vIn,i+1,1)) strReturn=strReturn&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode)) i=i+1 EndIf Next bytes2BSTR=strReturnEndFunctiondimstrA,oReq strA=URLEncoding("submit1=Submit&text1=中文") setoReq=CreateObject("MSXML2.XMLHTTP")oReq.open"POST","http://ServerName/VDir/TstResult.asp",falseoReq.setRequestHeader"Content-Length",Len(strA) oReq.setRequestHeader"CONTENT-TYPE","application/x-www-form-urlencoded" oReq.sendstrAmsgboxbytes2BSTR(oReq.responseBody)</SCRIPT>
//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成
//组件是否安装
isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}","componentID"))
//检查网页是否存在
functionCheckURL(URL){ varxmlhttp=newActiveXObject("Microsoft.XMLHTTP"); xmlhttp.Open("GET",URL,false); try { xmlhttp.Send(); varresult=xmlhttp.status; } catch(e){return(false);} if(result==200) { returntrue; } xmlhttp=null; returnfalse; }
//连接数据库
<scriptlanguage="javascript"> //用JavaScript写服务器端连接数据库的代码示例 varconn=newActiveXObject("ADODB.Connection"); conn.Open("Provider=SQLOLEDB.1;DataSource=localhost;UserID=sa;" +"Password=;InitialCatalog=pubs"); varrs=newActiveXObject("ADODB.Recordset"); varsql="select*fromauthors"; rs.open(sql,conn); shtml="<tablewidth='100%'border=1>"; shtml+="<trbgcolor='#f4f4f4'><td>au_id</td><td>au_lname</td><td>au_fname</td><td>phone</td><td>address</td><td>city</td><td>state</td><td>zip</td></tr>"; while(!rs.EOF) { shtml+="<tr><td>"+rs("au_id")+"</td><td>"+rs("au_lname")+"</td><td>"+rs("au_fname")+"</td><td>"+rs("phone")+"</td><td>"+rs("address")+"</td><td>"+rs("city")+"</td><td>"+rs("state")+"</td><td>"+rs("zip")+"</td></tr>";rs.moveNext; } shtml+="</table>"; document.write(shtml); rs.close(); rs=null; conn.close(); conn=null;</script>
//使用数据岛
<html> <body> srno:<inputtype=textdatasrc=#xmldateDataFLD=srnosize="76"><BR> times:<inputtype=textdatasrc=#xmldateDataFLD=timessize="76"><BR><inputid="first"TYPE=buttonvalue="<<第一条记录"onclick="xmldate.recordset.moveFirst()"> <inputid="prev"TYPE=buttonvalue="<上一条记录"onclick="xmldate.recordset.movePrevious()"> <inputid="next"TYPE=buttonvalue="下一条记录>"onclick="xmldate.recordset.moveNext()"> <inputid="last"TYPE=buttonvalue="最后一条记录>>"onclick="xmldate.recordset.moveLast()"> <inputid="Add"TYPE=buttonvalue="添加新记录"onclick="xmldate.recordset.addNew()"> <XMLID="xmldate"> <infolist> <info><srno>20041025-01</srno><times>null</times></info> <info><srno>20041101-09</srno><times>2004年10月1日2点22分0秒</times></info> </infolist></XML></body></html>
//获得参数
<body> <ahref="javascript:location.href=location.href+'?a=1&b=2'">search</a> <scriptlanguage="JavaScript"> <!--vara=location.search.substr(1);if(a.length>0){varre=/([^&]*?)\=([^&]*)/gvars=a.match(re);for(vari=0;i<s.length;i++){ alert(s[i]); alert(s[i].split("=")[1]);}}//--></script></body>
//可编辑SELECT
<inputtype=textname=re_namestyle="width:100px;height:21px;font-size:10pt;"><spanstyle="width:18px;border:0pxsolidred;"><selectname="r00"style="margin-left:-100px;width:118px;background-color:#FFEEEE;"onChange="document.all.re_name.value=this.value;"> <optionvalue="1">11111111<option> <optionvalue="2">222222</option> <optionvalue="3">333333</option> </select> </span>
//设置光标位置
functiongetCaret(textbox){varcontrol=document.activeElement; textbox.focus();varrang=document.selection.createRange(); rang.setEndPoint("StartToStart",textbox.createTextRange()) control.focus();returnrang.text.length;}functionsetCaret(textbox,pos){try { varr=textbox.createTextRange(); r.moveStart('character',pos); r.collapse(true); r.select();}catch(e){}}functionselectLength(textbox,start,len){ try{ varr=textbox.createTextRange(); r.moveEnd('character',len-(textbox.value.length-start)); r.moveStart('character',start); r.select();}catch(e){//alert(e.description)}}functioninsertAtCaret(textbox,text){ textbox.focus();document.selection.createRange().text=text;}
//页内查找
functionfindInPage(str){vartxt,i,found,n=0;if(str=="") { returnfalse;} txt=document.body.createTextRange(); for(i=0;i<=n&&(found=txt.findText(str))!=false;i++){ txt.moveStart("character",1); txt.moveEnd("textedit");}if(found){ txt.moveStart("character",-1); txt.findText(str); txt.select(); txt.scrollIntoView(); n++; }else { if(n>0) { n=0; findInPage(str); } else { alert(str+"... 您要找的文字不存在。\n\n请试着输入页面中的关键字再次查找!"); }}returnfalse;}
//操作EXECL
<scriptlanguage="javascript">functionjStartExcel(){varxls=newActiveXObject("Excel.Application");xls.visible=true;varnewBook=xls.Workbooks.Add; newBook.Worksheets.Add;newBook.Worksheets(1).Activate; xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation=2; xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize=5; newBook.Worksheets(1).Columns("A").columnwidth=50; newBook.Worksheets(1).Columns("A").WrapText=true;newBook.Worksheets(1).Columns("B").columnwidth=50; newBook.Worksheets(1).Columns("B").WrapText=true;newBook.Worksheets(1).Range("A1:B1000").NumberFormat="0";newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment=-4131; newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15"; newBook.Worksheets(1).Cells(1,1).value="FirstColumn,FirstCell"; newBook.Worksheets(1).Cells(2,1).value="FirstColumn,SecondCell"; newBook.Worksheets(1).Cells(1,2).value="SecondColumn,FirstCell"; newBook.Worksheets(1).Cells(2,2).value="SecondColumn,SecondCell"; newBook.Worksheets(1).Name="MyFirstWorkSheet";}</script>
//自定义提示条
<ahref="#"title="这是提示">tip</a> <scriptLanguage="JavaScript"> //***********默认设置定义.*********************tPopWait=50;//停留tWait豪秒后显示提示。tPopShow=5000;//显示tShow豪秒后关闭提示showPopStep=20;popOpacity=99;//***************内部变量定义*****************sPop=null;curShow=null;tFadeOut=null;tFadeIn=null;tFadeWaiting=null;document.write("<styletype='text/css'id='defaultPopStyle'>"); document.write(".cPopText{background-color:#F8F8F5;color:#000000;border:1px#000000solid;font-color:font-size:12px;padding-right:4px;padding-left:4px;height:20px;padding-top:2px;padding-bottom:2px;filter:Alpha(Opacity=0)}"); document.write("</style>"); document.write("<divid='dypopLayer'style='position:absolute;z-index:1000;'class='cPopText'></div>"); functionshowPopupText(){varo=event.srcElement;MouseX=event.x; MouseY=event.y;if(o.alt!=null&&o.alt!=""){o.dypop=o.alt;o.alt=""};if(o.title!=null&&o.title!=""){o.dypop=o.title;o.title=""};if(o.dypop!=sPop){sPop=o.dypop; clearTimeout(curShow);clearTimeout(tFadeOut); clearTimeout(tFadeIn);clearTimeout(tFadeWaiting);if(sPop==null||sPop==""){dypopLayer.innerHTML="";dypopLayer.style.filter="Alpha()";dypopLayer.filters.Alpha.opacity=0; }else{if(o.dyclass!=null)popStyle=o.dyclasselsepopStyle="cPopText";curShow=setTimeout("showIt()",tPopWait);}}}functionshowIt(){ dypopLayer.className=popStyle;dypopLayer.innerHTML=sPop; popWidth=dypopLayer.clientWidth;popHeight=dypopLayer.clientHeight; if(MouseX+12+popWidth>document.body.clientWidth)popLeftAdjust=-popWidth-24 elsepopLeftAdjust=0;if(MouseY+12+popHeight>document.body.clientHeight)popTopAdjust=-popHeight-24 elsepopTopAdjust=0; dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust; dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust; dypopLayer.style.filter="Alpha(Opacity=0)";fadeOut();}functionfadeOut(){if(dypopLayer.filters.Alpha.opacity<popOpacity){ dypopLayer.filters.Alpha.opacity+=showPopStep;tFadeOut=setTimeout("fadeOut()",1);}else{ dypopLayer.filters.Alpha.opacity=popOpacity; tFadeWaiting=setTimeout("fadeIn()",tPopShow);}}functionfadeIn(){if(dypopLayer.filters.Alpha.opacity>0){ dypopLayer.filters.Alpha.opacity-=1;tFadeIn=setTimeout("fadeIn()",1);}} document.onmouseover=showPopupText;</script>
//插入文字
document.onclick=function(){ varoSource=window.event.srcElement; if(oSource.tagName!="DIV") returnfalse; varsel=document.selection; if(sel!=null){ varrng=sel.createRange(); if(rng!=null) rng.pasteHTML("<fontcolor=red>插入文字</font>"); } }
//netscapte下操作xml
doc=newActiveXObject("Msxml2.DOMDocument");doc=newActiveXObject("Microsoft.XMLDOM")->>doc=(newDOMParser()).parseFromString(sXML,'text/xml')
//判断键值
<html> <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><head> <scriptlanguage="javascript"> varie =navigator.appName=="MicrosoftInternetExplorer"?true:false; functionkeyDown(e){ if(!ie){ varnkey=e.which; variekey='现在是ns浏览器'; varrealkey=String.fromCharCode(e.which);}if(ie){ variekey=event.keyCode; varnkey='现在是ie浏览器'; varrealkey=String.fromCharCode(event.keyCode); if(event.keyCode==32){realkey='\'空格\''} if(event.keyCode==13){realkey='\'回车\''} if(event.keyCode==27){realkey='\'Esc\''} if(event.keyCode==16){realkey='\'Shift\''} if(event.keyCode==17){realkey='\'Ctrl\''} if(event.keyCode==18){realkey='\'Alt\''}} alert('ns浏览器中键值:'+nkey+'\n'+'ie浏览器中键值:'+iekey+'\n'+'实际键为'+realkey);} document.onkeydown=keyDown;</script></head> <body>//JavascriptDocument.<hr><center><h3>请按任意一个键。。。。</h3> </center></body></html>
//禁止FSO
1.注销组件
regsvr32/uscrrun.dll2.修改PROGID
HKEY_CLASSES_ROOT\Scripting.FileSystemObjectScripting.FileSystemObject
3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting.
//省略号
<DIVSTYLE="width:120px;height:50px;border:1pxsolidblue;
overflow:hidden;text-overflow:ellipsis">
<NOBR>就是比如有一行文字,很长,表格内一行显示不下.</NOBR></DIV>
//检测mediaplay版本
<IE:clientCapsID="oClientCaps"style="{behavior:url(#default#clientcaps)}"/>
<SCRIPT>varflash="";
WMPVersion=oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID"); if(WMPVersion!=""){ flash=""; varversion=WMPVersion.split(","); vari;
for(i=0;i<version.length;i++){ if(i!=0) flash+="."; flash+=version[i]; }
document.write("您的WindowsMediaPlayer版本是:"+flash+"<p>"); }</SCRIPT>
//图象按比例
<scriptlanguage="JavaScript"><!--//图片按比例缩放varflag=false;functionDrawImage(ImgD){varimage=newImage();variwidth=80;//定义允许图片宽度variheight=80;//定义允许图片高度image.src=ImgD.src;if(image.width>0&&image.height>0){ flag=true;if(image.width/image.height>=iwidth/iheight){ if(image.width>iwidth){ ImgD.width=iwidth;ImgD.height=(image.height*iwidth)/image.width; }else{ImgD.width=image.width; ImgD.height=image.height;}ImgD.alt=image.width+"×"+image.height;}else{if(image.height>iheight){ ImgD.height=iheight; ImgD.width=(image.width*iheight)/image.height;}else{ImgD.width=image.width; ImgD.height=image.height;}ImgD.alt=image.width+"×"+image.height;}}}//--></script><imgsrc=".."onload="DrawImage(this)">
//细线SELECT
<spanstyle="border:1pxsolid#000000;position:absolute;overflow:hidden;"> <selectstyle="margin:-2px;"><option>1111</option> <option>11111111111111</option> <option>111111111</option> </select></span>
//Import
functionImport(){for(vari=0;i<arguments.length;i++){ varfile=arguments[i];if(file.match(/\.js$/i)) document.write('<scripttype=\"text/javascript\"src=\"'+file+'\"></sc'+'ript>'); else document.write('<styletype=\"text/css\">@import\"'+file+'\";</style>'); }};
//js枚举
functiongetComputerName(){varobjWMIService=GetObject("Winmgmts:root\cimv2");for(e=newEnumerator(objWMIService);!e.atEnd();e.moveNext()) {vargetComputer=e.item(); returngetComputer.Name;} }
//条件编译
<scriptlanguage=javascript> /*@cc_on@*//*@if(@_win32&&@_jscript_version>5) functionwindow.confirm(str){ execScript("n=msgbox('"+str+"',257)","vbscript"); return(n==1);}@end@*/</script>
//取得innerText
<SCRIPTLANGUAGE="JavaScript"><!--varxmlDoc=newActiveXObject("Msxml2.DOMDocument.4.0");varcurrNode;xmlDoc.async=false;xmlDoc.async=false;xmlDoc.loadXML("<TABLENAME>你好你阿三大法司法等四</TABLENAME>"); currNode=xmlDoc.documentElement;vars=currNode.xml;varr=/\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/ varb=s.replace(r,"$2");alert(b);//--></SCRIPT>
//mergeAttributes复制所有读/写标签属性到指定元素。
<SCRIPT> functionfnMerge(){ oSource.children[1].mergeAttributes(oSource.children[0]);} </SCRIPT><SPANID=oSource><DIVID="oDiv"ATTRIBUTE1="true"ATTRIBUTE2="true"onclick="alert('click');"onmouseover="this.style.color='#0000FF';"onmouseout="this.style.color='#000000';"> Thisisasample<B>DIV</B>element.</DIV> <DIVID="oDiv2"> Thisisanothersample<B>DIV</B>element.</DIV> </SPAN><INPUTTYPE="button"VALUE="MergeAttributes"onclick="fnMerge()">
以上所述就是本文的全部内容了,希望大家能够喜欢。