posts - 104,  comments - 34,  trackbacks - 0

          1. oncontextmenu="window.event.returnValue=false" 將徹底屏蔽鼠標右鍵
          <table border oncontextmenu=return(false)><td>no</table> 可用于Table

          2. <body onselectstart="return false"> 取消選取、防止復制

          3. onpaste="return false" 不準粘貼

          4. oncopy="return false;" oncut="return false;" 防止復制

          5. <link rel="Shortcut Icon" href="favicon.ico"> IE地址欄前換成自己的圖標

          6. <link rel="Bookmark" href="favicon.ico"> 可以在收藏夾中顯示出你的圖標

          7. <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:"+ "

          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,b
          set a=document.all.img1
          t=document.all.img1.offsetTop
          l=document.all.img1.offsetLeft
          while a.tagName<>"BODY"
          set a = a.offsetParent
          t=t+a.offsetTop
          l=l+a.offsetLeft
          wend
          msgbox "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:url(logo.gif); 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 * 1000
          a = 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 radio1
          if ob.checked then window.alert ob.value
          next
          end 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"> 
          <!-- Hide 
          function killErrors() { 
          return true; 

          window.onerror = killErrors; 
          // --> 
          </SCRIPT>

          35.ENTER鍵可以讓光標移到下一個輸入框
          <input onkeydown="if(event.keyCode==13)event.keyCode=9">

          36. 檢測某個網站的鏈接速度:
          把如下代碼加入<body>區域中:
          <script language=Javascript>
          tim=1
          setInterval("tim++",100)
          b=1
          var autourl=new Array()
          autourl[1]=" autourl[2]="javacool.3322.net"
          autourl[3]="
          autourl[4]=" autourl[5]=" 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=測試中……> =》<input type=text 
          name=url"+i+" size=40> =》<input type=button value=GO 

          onclick=window.open(this.form.url"+i+".value)><br>")
          document.write("<input type=submit value=刷新></form>")
          }
          butt()
          function auto(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++
          }
          function run(){for(var i=1;i<autourl.length;i++)document.write("<img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 

          onerror=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.JAVASCRIPT判斷IE是否開啟COOKIE

          <script type="text/javascript">

                
          function CookieEnable()
                {
                  
          var result=false;
                  
          if(navigator.cookiesEnabled)
                    
          return true;
                  document.cookie 
          = "testcookie=yes;";
                  
          var cookieSet = document.cookie;
                  
          if (cookieSet.indexOf("testcookie=yes"> -1)
                    result
          =true;
                  document.cookie 
          = "";
                  
          return result;
                }

                
          if(!CookieEnable())
                {
                  alert(
          "對不起,您的瀏覽器的Cookie功能被禁用,請開啟");
                }
          </script>

           

          匹配中文字符的正則表達式: [\u4e00-\u9fa5]

          匹配雙字節字符(包括漢字在內):[^\x00-\xff]

          應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)

          String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

          匹配空行的正則表達式:\n[\s| ]*\r

          匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*) \/>/

          匹配首尾空格的正則表達式:(^\s*)|(\s*$)

          應用:javascript中沒有像vbscript那樣的trim函數,我們就可以利用這個表達式來實現,如下:

          String.prototype.trim = function()
          {
          return this.replace(/(^\s*)|(\s*$)/g, "");
          }

          利用正則表達式分解和轉換IP地址:

          下面是利用正則表達式匹配IP地址,并將IP地址轉換成對應數值的Javascript程序:

          function IP2V(ip)
          {
          re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正則表達式
          if(re.test(ip))
          {
          return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
          }
          else
          {
          throw new Error("Not a valid IP address!")
          }
          }

          不過上面的程序如果不用正則表達式,而直接用split函數來分解可能更簡單,程序如下:

          var ip="10.100.20.168"
          ip=ip.split(".")
          alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

          匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

          匹配網址URL的正則表達式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

          利用正則表達式去除字串中重復的字符的算法程序:
          [注:此程序不正確,原因見本貼回復]

          var s="abacabefgeeii"
          var s1=s.replace(/(.).*\1/g,"$1")
          var re=new RegExp("["+s1+"]","g")
          var s2=s.replace(re,"")
          alert(s1+s2) //結果為:abcefgi

          我原來在CSDN上發貼尋求一個表達式來實現去除重復字符的方法,最終沒有找到,
          這是我能想到的最簡單的實現方法。思路是使用后向引用取出包括重復的字符,
          再以重復的字符建立第二個表達式,取到不重復的字符,兩者串連。
          這個方法對于字符順序有要求的字符串可能不適用。

          得用正則表達式從URL地址中提取文件名的javascript程序,如下結果為page1

          s="http://www.9499.net/page1.htm"
          s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
          alert(s)

          利用正則表達式限制網頁表單里的文本框輸入內容:

          用正則表達式限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

          用正則表達式限制只能輸入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

          用正則表達式限制只能輸入數字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

          用正則表達式限制只能輸入數字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

          posted on 2007-12-03 23:51 末日風情 閱讀(760) 評論(2)  編輯  收藏 所屬分類: javascript

          FeedBack:
          # re: 網頁常用小技巧(JavaScript) [未登錄]
          2007-12-04 07:59 | hua
          哈哈,不錯不錯  回復  更多評論
            
          # re: 網頁常用小技巧(JavaScript)
          2008-04-13 12:31 | 123
          好東東  回復  更多評論
            
          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 邯郸县| 拉萨市| 清水县| 马山县| 阳原县| 沅江市| 长沙市| 宁德市| 荣成市| 蓬安县| 永泰县| 新巴尔虎左旗| 栖霞市| 凭祥市| 淮阳县| 富锦市| 疏附县| 钟祥市| 阿巴嘎旗| 祥云县| 赣榆县| 开平市| 甘孜| 商丘市| 宜君县| 女性| 老河口市| 区。| 久治县| 马边| 于田县| 岳普湖县| 涡阳县| 扬中市| 如东县| 文化| 金昌市| 眉山市| 莱阳市| 汽车| 汝州市|