本篇文章主要是對JavaScript對IE操作的經典代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
這段時間一直在用ajax技術做東東,所以也就有更多機會對JavaScript知識進行學習。之前在網上搜集了一些關於JavaScript對IE操作的代碼(具體在哪裡cope的記不清了,所以出處就不加了),感覺在開發過程中很有用,當然只適用於IE,FF會有問題的。現在貼出來分享。 代碼如下: 1.將徹底屏蔽鼠標右鍵 oncontextmenu="window.event.returnvalue=false" 可用於Table<table oncontextmenu=return(false)><td>no</table> 2.取消選取、防止復制 <bodyonselectstart="returnfalse"> 3.不准粘貼 onpaste="returnfalse" 4.防止復制 oncopy="returnfalse;" oncut="returnfalse;" 5.IE地址欄前換成自己的圖標 <linkrel="ShortcutIcon"href="favicon.ico"> 6.可以在收藏夾中顯示出你的圖標 <linkrel="Bookmark"href="favicon.ico"> 7.關閉輸入法 <inputstyle="ime-mode:disabled"> 8.永遠都會帶著框架 <scriptlanguage="javascript"> <!-- if(window==top)top.location.href="frames.htm"; //--> </script> 9.防止被人frame <SCRIPTLANGUAGE=javascript> <!-- if(top.location!=self.location)top.location=self.location; //--> </SCRIPT> 10.網頁將不能被另存為 <noscript><iframesrc=*.html></iframe></noscript> 11.查看網頁源代碼 <input type=button value=查看網頁源代碼 onclick="window.location='view-source:'+'http://www.jb51.net/"> 12.怎樣通過asp的手段來檢查來訪者是否用了代理 <%ifRequest.ServerVariables("HTTP_X_FORWARDED_FOR")<>""then response.write"<fontcolor=#FF0000>您通過了代理服務器,"&_ "真實的IP為"&Request.ServerVariables("HTTP_X_FORWARDED_FOR") endif %> 13.取得控件的絕對位置 //javascript <scriptlanguage="javascript"> functiongetIE(e)...{ vart=e.offsetTop; varl=e.offsetLeft; while(e=e.offsetParent)...{ t+=e.offsetTop; l+=e.offsetLeft; } alert("top="+t+" left="+l); } </script> //VBScript <scriptlanguage="VBScript"><!-- functiongetIE() dimt,l,a,b seta=document.all.img1 t=document.all.img1.offsetTop l=document.all.img1.offsetLeft whilea.tagName<>"BODY" seta=a.offsetParent t=t+a.offsetTop l=l+a.offsetLeft wend msgbox"top="&t&chr(13)&"left="&l,64,"得到控件的位置" endfunction --> </script> 14.光標是停在文本框文字的最後 <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()"> 15.判斷上一頁的來源 asp: request.servervariables("HTTP_REFERER") javascript: document.referrer 16.最小化、最大化、關閉窗口 <objectid=hh1classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <paramname="Command"value="Minimize"></object> <objectid=hh2classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"> <paramname="Command"value="Maximize"></object> <OBJECTid=hh3classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"> <PARAMNAME="Command"value="Close"></OBJECT> <inputtype=buttonvalue=最小化onclick=hh1.Click()> <inputtype=buttonvalue=最大化onclick=hh2.Click()> <inputtype=buttonvalue=關閉onclick=hh3.Click()> 本例適用於IE 17. <% '定義數據庫連接的一些常量 ConstadOpenForwardOnly=0'游標只向前浏覽記錄,不支持分頁、Recordset、BookMark ConstadOpenKeyset=1'鍵集游標,其他用戶對記錄說做的修改將反映到記錄集中,但其他用戶增加或刪除記錄不會反映到記錄集中。支持分頁、Recordset、BookMark ConstadOpenDynamic=2'動態游標功能最強,但耗資源也最多。用戶對記錄說做的修改,增加或刪除記錄都將反映到記錄集中。支持全功能浏覽(ACCESS不支持)。 ConstadOpenStatic=3'靜態游標,只是數據的一個快照,用戶對記錄說做的修改,增加或刪除記錄都不會反映到記錄集中。支持向前或向後移動 ConstadLockReadOnly=1'鎖定類型,默認的,只讀,不能作任何修改 ConstadLockPessimistic=2'當編輯時立即鎖定記錄,最安全的方式 ConstadLockOptimistic=3'只有在調用Update方法時才鎖定記錄集,而在此前的其他操作仍可對當前記錄進行更改、插入和刪除等 ConstadLockBatchOptimistic=4'當編輯時記錄不會被鎖定,而更改、插入和刪除是在批處理方式下完成的 ConstadCmdText=&H0001 ConstadCmdTable=&H0002 %> 18.網頁不會被緩存 HTM網頁 <METAHTTP-EQUIV="pragma"CONTENT="no-cache"> <METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate"> <METAHTTP-EQUIV="expires"CONTENT="Wed,26Feb199708:21:57GMT"> 或者<METAHTTP-EQUIV="expires"CONTENT="0"> ASP網頁 Response.Expires=-1 Response.ExpiresAbsolute=Now()-1 Response.cachecontrol="no-cache" PHP網頁 header("Expires:Mon,26Jul199705:00:00GMT"); header("Cache-Control:no-cache,must-revalidate"); header("Pragma:no-cache"); 19.檢查一段字符串是否全由數字組成 <scriptlanguage="javascript"><!-- functioncheckNum(str){returnstr.match(/D/)==null} alert(checkNum("1232142141")) alert(checkNum("123214214a1")) //--></script> 20.獲得一個窗口的大小 document.body.clientWidth,document.body.clientHeight 21.怎麼判斷是否是字符 if(/[^�-ÿ]/g.test(s))alert("含有漢字"); elsealert("全是字符"); 22.TEXTAREA自適應文字行數的多少 <textarearows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"> </textarea> 23.日期減去天數等於第二個日期 <scriptlanguage=javascript> functioncc(dd,dadd) { //可以加上錯誤處理 vara=newDate(dd) a=a.valueOf() a=a-dadd*24*60*60*1000 a=newDate(a) alert(a.getFullYear()+"年"+(a.getMonth()+1)+"月"+a.getDate()+"日") } cc("12/23/2002",2) </script> 24.選擇了哪一個Radio <HTML><scriptlanguage="vbscript"> functioncheckme() foreachobinradio1 ifob.checkedthenwindow.alertob.value next endfunction </script><BODY> <INPUT name="radio1" type="radio" value="style" checked>Style <INPUT name="radio1" type="radio" value="barcode">Barcode <INPUT type="button" value="check"onclick="checkme()"> </BODY></HTML> 25.獲得本頁url的request.servervariables("")集合 Response.Write"<TABLEborder=1><!--TableHeader--><TR><TD><B>Variables</B></TD><TD><B>value</B></TD></TR>" foreachobinRequest.ServerVariables Response.Write"<TR><TD>"&ob&"</TD><TD>"&Request.ServerVariables(ob)&"</TD></TR>" next Response.Write"</TABLE>" 26. 本機ip<%=request.servervariables("remote_addr")%> 服務器名<%=Request.ServerVariables("SERVER_NAME")%> 服務器IP<%=Request.ServerVariables("LOCAL_ADDR")%> 服務器端口<%=Request.ServerVariables("SERVER_PORT")%> 服務器時間<%=now%> IIS版本<%=Request.ServerVariables"SERVER_SOFTWARE")%> 腳本超時時間<%=Server.ScriptTimeout%> 本文件路徑<%=server.mappath(Request.ServerVariables("SCRIPT_NAME"))%> 服務器CPU數量<%=Request.ServerVariables("NUMBER_OF_PROCESSORS")%> 服務器解譯引擎<%=ScriptEngine&"/" & ScriptEngineMajorVersion &"." & ScriptEngineMinorVersion & "." & ScriptEngineBuildVersion%> 服務器操作系統<%=Request.ServerVariables("OS")%> 27.ENTER鍵可以讓光標移到下一個輸入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9"> 28.檢測某個網站的鏈接速度: 把如下代碼加入<body>區域中: <scriptlanguage=javascript> tim=1 setInterval("tim++",100) b=1 varautourl=newArray() autourl[1]="< src="pic/url.gif" align=absMiddle border=0>www.njcatv.net" autourl[2]="javacool.3322.net" autourl[3]="< src="pic/url.gif" align=absMiddle border=0>www.sina.com.cn" autourl[4]="www.nuaa.edu.cn" autourl[5]="< src="pic/url.gif" align=absMiddle border=0>www.cctv.com" functionbutt(){ document.write("<formname=autof>") for(vari=1;i<autourl.length;i++) document.write("<inputtype=textname=txt"+i+"size=10value=測試中……>=》<inputtype=textname=url"+i+"size=40>=》<inputtype=buttonvalue=GOonclick=window.open(this.form.url"+i+".value)><br/>") document.write("<inputtype=submitvalue=刷新></form>") } butt() functionauto(url){ document.forms[0]["url"+b].value=url if(tim>200) {document.forms[0]["txt"+b].value="鏈接超時"} else {document.forms[0]["txt"+b].value="時間"+tim/10+"秒"} b++ } functionrun(){for(vari=1;i<autourl.length;i++)document.write("<imgsrc=http://"+autourl[i]+"/"+Math.random()+"width=1height=1onerror=auto('< src="pic/url.gif" align=absMiddle border=0>http://";+autourl[i]+"')>")} run()</script> 29.各種樣式的光標 auto:標准光標 default:標准箭頭 hand:手形光標 wait:等待光標 text:I形光標 vertical-text:水平I形光標 no-drop:不可拖動光標 not-allowed:無效光標 help:?幫助光標 all-scroll:三角方向標 move:移動標 crosshair:十字標 e-resize n-resize nw-resize w-resize s-resize se-resize sw-resize 1.本地無緩存,每次自動刷新 response.expires=0 response.addHeader"pragma","no-cache" response.addHeader"cache-control","private" 2.修改contentType並下載gif等格式 <% functiondl(f,n) onerrorresumenext sets=CreateObject("Adodb.Stream") S.Mode=3 S.Type=1 S.Open s.LoadFromFile(server.mappath(f)) iferr.number>0then response.writeerr.number&":"&err.description else response.contentType="application/x-gzip" response.addheader"Content-Disposition:","attachment;filename="&n response.binarywrite(s.Read(s.size)) endif endfunction calldl("012922501.gif","t1.gif") %> 19.檢查一段字符串是否全由數字組成 <scriptlanguage="javascript"><!-- functioncheckNum(str)...{return!/D/.test(str)} alert(checkNum("1232142141")) alert(checkNum("123214214a1")) //--></script> 20.獲得一個窗口的大小 document.body.clientWidth,document.body.clientHeight document.body.offsetWidth,document.body.offsetHeight 有時還需要知道window.screenTop,window.screenLeft 21.怎麼判斷是否含有漢字 if(escape(str).indexOf("%u")!=-1)alert("含有漢字"); elsealert("全是字符"); 22.TEXTAREA自適應文字行數的多少 IE5.5+可以用overflow-y:visible <textarearows=1name=s1cols=27style="overflow-y:visible"> </textarea> 23.日期減去天數等於第二個日期 <scriptlanguage=javascript> function cc(dd,dadd) ...{ //可以加上錯誤處理 vard=newDate(dd.replace("-","/")) d.setDate(d.getDate()+dadd) alert(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日") } cc("2002-2-28",2) </script>