Web開發人員必須收藏的JavaScript實用技巧,供大家參考,具體內容如下
1. 將徹底屏蔽滑鼠右鍵
oncontextmenu=”window.event.returnValue=false”
< table border oncontextmenu=return(false)>< td>no< /table> 可用於 Table
2. 取消選取、防止複製
< body onselectstart=”return false”>
3.JS不允許粘貼
onpaste=”return false”
4. JS防止複製
oncopy=”return false;” oncut=”return false;”
5. IE 地址欄前換成自己的表徵圖
< link rel=”Shortcut Icon” href=”favicon.ico”>
在檔案的根目錄放進去這個圖片,尾碼修改成ico就可以了
6.可以在收藏夾中顯示出你的表徵圖
< link rel=”Bookmark” href=”favicon.ico”>
7.關閉IME
< input style=”ime-mode:disabled”>
8. 永遠都會帶著架構
< script language=”JavaScript”>< !–
if (window == top)top.location.href = “frames.htm”; //frames.htm 為框架頁
// –>< /script>
9. 防止被人 frame
< SCRIPT LANGUAGE=JAVASCRIPT>< !–
if (top.location != self.location)top.location=self.location;
// –>< /SCRIPT>
10. 網頁將不能被另存新檔
< noscript>< iframe src=*.html>< /iframe>< /noscript>
11. < input type=button value=查看網頁原始碼
onclick=”window.location = “view-source:”+ “http://www.pconline.com.cn””>
12. 刪除時確認
< a href=”javascript:if(confirm(” 確 實 要 刪 除 嗎 ?”))location=”boos.asp?&areyou= 刪 除
&page=1″”>刪除< /a>
13. 取得控制項的絕對位置
//Javascript< script language=”Javascript”>function getIE(e){var t=e.offsetTop;var l=e.offsetLeft;while(e=e.offsetParent){t+=e.offsetTop;l+=e.offsetLeft;}alert(“top=”+t+”/nleft=”+l);}< /script>//VBScript< script language=”VBScript”>< !–function getIE()dim t,l,a,bset a=document.all.img1t=document.all.img1.offsetTopl=document.all.img1.offsetLeftwhile a.tagName< >”BODY”set a = a.offsetParentt=t+a.offsetTopl=l+a.offsetLeftwendmsgbox “top=”&t&chr(13)&”left=”&l,64,”得到控制項的位置”end function–>< /script>
14. 游標是停在文字框文字的最後
< script language=”javascript”>function cc(){var e = event.srcElement;var r =e.createTextRange();r.moveStart(“character”,e.value.length);r.collapse(true);r.select();}< /script>< input type=text name=text1 value=”123″ onfocus=”cc()”>
15. 判斷上一頁的來源
javascript:
document.referrer
16. 最小化、最大化、關閉視窗
< object id=hh1 classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″>< param name=”Command” value=”Minimize”>< /object>< object id=hh2 classid=”clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11″>< param name=”Command” value=”Maximize”>< /object>< OBJECT id=hh3 classid=”clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11″>< PARAM NAME=”Command” VALUE=”Close”>< /OBJECT>< input type=button value=最小化 onclick=hh1.Click()>< input type=button value=最大化 onclick=hh2.Click()>< input type=button value=關閉 onclick=hh3.Click()>
本例適用於 IE
17.屏蔽功能鍵 Shift,Alt,Ctrl
< script>function look(){if(event.shiftKey)alert(“禁止按 Shift 鍵!”); //可以換成 ALT CTRL}document.onkeydown=look;< /script>
18. 網頁不會被緩衝
< META HTTP-EQUIV=”pragma” CONTENT=”no-cache”>
< META HTTP-EQUIV=”Cache-Control” CONTENT=”no-cache, must-revalidate”>
< META HTTP-EQUIV=”expires” CONTENT=”Wed, 26 Feb 1997 08:21:57 GMT”>
或者< META HTTP-EQUIV=”expires” CONTENT=”0″>
19.怎樣讓表單沒有凹凸感?
< input type=text style=”border:1 solid #000000″>
或
< input type=text style=”border-left:none; border-right:none; border-top:none; border-bottom:
1 solid #000000″>< /textarea>
20.< div>< span>&< layer>的區別?
< div>(division)用來定義大段的頁面元素,會產生轉行
< span>用來定義同一行內的元素,跟< div>的唯一區別是不產生轉行
< layer>是 ns 的標記,ie 不支援,相當於< div>
21.讓快顯視窗總是在最上面:
< body onblur=”this.focus();”>
22.不要捲軸?
讓豎條沒有:
< body style=”overflow:scroll;overflow-y:hidden”>
< /body>
讓橫條沒有:
< body style=”overflow:scroll;overflow-x:hidden”>
< /body>
兩個都去掉?更簡單了
< body scroll=”no”>
< /body>
23.怎樣去掉圖片連結點擊後,圖片周圍的虛線?
< a href=”#” onFocus=”this.blur()”>< img src=”logo.jpg” border=0>< /a>
24.電子郵件處理提交表單
< form name=”form1″ method=”post” action=”mailto:****@***.com” enctype=”text/plain”>
< input type=submit>
< /form>
25.在開啟的子視窗重新整理父視窗的代碼裡如何寫?
window.opener.location.reload()
26.如何設定開啟頁面的大小
< body onload=”top.resizeTo(300,200);”>
開啟頁面的位置< body onload=”top.moveBy(300,200);”>
27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動
< STYLE>
body
{background-image:none; background-repeat:no-repeat;
background-position:center;background-attachment: fixed}
< /STYLE>
28. 檢查一段字串是否全由數字組成
< script language=”Javascript”>< !–
function checkNum(str){return str.match(//D/)==null}
alert(checkNum(“1232142141”))
alert(checkNum(“123214214a1”))
// –>< /script>
29. 獲得一個視窗的大小
document.body.clientWidth; document.body.clientHeight
30. 怎麼判斷是否是字元
if (/[^/x00-/xff]/g.test(s)) alert(“含有漢字”);
else alert(“全是字元”);
31.TEXTAREA 自適應文字行數的多少
< textarea rows=1 name=s1 cols=27 onpropertychange=”this.style.posHeight=this.scrollHeight”>
< /textarea>
32. 日期減去天數等於第二個日期
< script language=Javascript>function cc(dd,dadd){//可以加上錯誤處理var a = new Date(dd)a = a.valueOf()a = a – dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + “年” + (a.getMonth() + 1) + “月” + a.getDate() + “日”)}cc(“12/23/2002”,2)< /script>
33. 選擇了哪一個 Radio
< HTML>< script language=”vbscript”>function checkme()for each ob in radio1if ob.checked then window.alert ob.valuenextend function< /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>
34. 指令碼永不出錯
< SCRIPT LANGUAGE=”JavaScript”>< !– Hidefunction killErrors() {return true;}window.onerror = killErrors;// –>< /SCRIPT>
35. ENTER 鍵可以讓游標移到下一個輸入框
< input onkeydown=”if(event.keyCode==13)event.keyCode=9″>
36. 檢測某個網站的連結速度:
把如下代碼加入< body>地區中:
< script language=Javascript>tim=1setInterval(“tim++”,100)b=1var autourl=new Array()autourl[1]=”www.njcatv.net”autourl[2]=”javacool.3322.net”autourl[3]=”www.sina.com.cn”autourl[4]=”www.nuaa.edu.cn”autourl[5]=”www.cctv.com”function butt(){document.write(“< form name=autof>”)for(var i=1;i< autourl.length;i++)document.write(“< input type=text name=txt”+i+” size=10 value=測試中……> =》< inputtype=textname=url”+i+” size=40> =》< input type=button value=GOonclick=window.open(this.form.url”+i+”.value)>“)document.write(“< input type=submit value=重新整理>< /form>”)}butt()function auto(url){document.forms[0][“url”+b].value=urlif(tim>200){document.forms[0][“txt”+b].value=”連結逾時”}else{document.forms[0][“txt”+b].value=”時間”+tim/10+”秒”}b++}function run(){for(var i=1;i< autourl.length;i++)document.write(“< imgsrc=http://”+autourl+”/”+Math.random()+”width=1 height=1onerror=auto(“http://”+autourl+””)>”)}run()< /script>
37. 各種樣式的游標
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
38. 頁面進入和退出的特效
進入頁面< meta http-equiv=”Page-Enter” content=”revealTrans(duration=x, transition=y)”>
推出頁面< meta http-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 以上 22 種隨機播放一種
39. 在規定時間內跳轉
< META http-equiv=V=”REFRESH” content=”5;URL=http://www.51js.com”>
40. 網頁是否被檢索
< meta name=”ROBOTS” content=”屬性值”>
其中屬性值有以下一些:
屬性值為”all”: 檔案將被檢索,且頁上連結可被查詢;
屬性值為”none”: 檔案不被檢索,而且不查詢頁上的連結;
屬性值為”index”: 檔案將被檢索;
屬性值為”follow”: 查詢頁上的連結;
屬性值為”noindex”: 檔案不檢索,但可被查詢連結;
屬性值為”nofollow”: 檔案不被檢索,但可查詢頁上的連結。
41. 斷行符號
用用戶端指令碼在頁面添加document 的onkeydown事件,讓頁面在接受到斷行符號事件後,進行Tab
鍵的功能,即只要把 event 的 keyCode 由 13 變為 9
Javascript 代碼如下:
<script language=”javascript” for=”document” event=”onkeydown”><!–if(event.keyCode==13)event.keyCode=9;–></script>
這樣的處理方式,可以實現焦點往下移動,但對於按鈕也起同樣的作用,一般的客戶在輸入完
資料以後,跳到按鈕後,最好能直接按”斷行符號”進行資料的提交.因此,對上面的方法要進行一下
修改,應該對於”提交”按鈕不進行焦點轉移.而直接啟用提交.
因此我對上面的代碼進行了一個修改,即判斷事件的”源”,是否為提交按鈕,代碼如下:
<script language=”javascript” for=”document” event=”onkeydown”><!–if(event.keyCode==13 && event.srcElement.type!='button' &&event.srcElement.type!='submit' && event.srcElement.type!='reset' &&event.srcElement.type!='textarea' && event.srcElement.type!=”)event.keyCode=9;–></script>
判斷是否為 button, 是因為在 HTML 上會有 type=”button”
判斷是否為 submit,是因為 HTML 上會有 type=”submit”
判斷是否為 reset,是因為 HTML 上的”重設”應該要被執行
判斷是否為空白,是因為對於 HTML 上的”<a>連結”也應該被執行,這種情況發生的情況不多,可以使用”tabindex=-1″的方式來取消連結獲得焦點。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援雲棲社區。