js禁止頁面刷新與後退的方法

  1. <script language="javascript">  

  2. //禁止用F5鍵  

  3. function document.onkeydown()  

  4. {     

  5.  if ( event.keyCode==116)  

  6.   {     

  7.     event.keyCode = 0;  

  8.     event.cancelBubble = true;  

  9.     return false;  

  10.   }  

  11. }  

  12. //禁止右鍵彈出菜單   

  13. function document.oncontextmenu()  

  14. {     

  15.    return false;     

  16. }  

  17. //下面代碼實現全屏顯示   

  18. function window.onload(){   

  19.    var Request = new Array();//保存參數   

  20.    var s = location.search.substring(1);   

  21.    if (s && s!=""){   

  22.     var list = s.split("&");  

  23.     for (var i=0; i < list.length; i++){  

  24.     var pair = list[i].split("=");  

  25.     if (pair[0] && pair[0] !=""){  

  26.     Request[unescape(pair[0])] = unescape(pair[1]);  

  27.     }  

  28.     }  

  29.    }  

  30.    var fullscreen=Request["fullscreen"];  

  31.    if(fullscreen!="yes"){  

  32.     var file =self.location;  

  33.     var a = window.open("about:blank","","fullscreen=yes");  

  34.     self.opener=null;  

  35.     self.close();  

  36.     a.location=file + "?fullscreen=yes";  

  37.    }  

  38. }  

  39. </script>  

  40. <script language="Javascript"><!--  

  41. //屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F11、F5刷新、退格鍵    

  42. //Author: meizz(梅花雨) 2002-6-18    

  43. function document.oncontextmenu(){event.returnValue=false;}  

  44. //屏蔽鼠標右鍵  

  45. function window.onhelp(){return false}  

  46. //屏蔽F1幫助    

  47. function document.onkeydown()    

  48. {    

  49. if ((window.event.altKey)&&    

  50. ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向鍵 ←    

  51. (window.event.keyCode==39))) //屏蔽 Alt+ 方向鍵 →    

  52. {    

  53. alert("不准你使用ALT+方向鍵前進或後退網頁!");    

  54. event.returnValue=false;    

  55. }    

  56. /* 注:這還不是真正地屏蔽 Alt+ 方向鍵,  

  57. 因爲 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放,  

  58. 用鼠標點掉警告框,這種屏蔽方法就失效了。以後若  

  59. 有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/    

  60. if ((event.keyCode==8) || //屏蔽退格刪除鍵    

  61. (event.keyCode==116)|| //屏蔽 F5 刷新鍵    

  62. (event.ctrlKey && event.keyCode==82)){ //Ctrl + R    

  63. event.keyCode=0;    

  64. event.returnValue=false;    

  65. }    

  66. if (event.keyCode==122){event.keyCode=0;event.returnValue=false;}  

  67. //屏蔽F11    

  68. if (event.ctrlKey && event.keyCode==78) event.returnValue=false;   

  69. //屏蔽 Ctrl+n    

  70. if (event.shiftKey && event.keyCode==121)event.returnValue=false;  

  71. //屏蔽 shift+F10    

  72. if (window.event.srcElement.tagName == "A" && window.event.shiftKey)    

  73. window.event.returnValue = false;   

  74. //屏蔽 shift 加鼠標左鍵新開一網頁    

  75. if ((window.event.altKey)&&(window.event.keyCode==115))   

  76. //屏蔽Alt+F4    

  77. {    

  78. window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");    

  79. return false;    

  80. }    

  81. }    

  82. </script>  

http://www.lai18.com/content/427193.html



http://jackandroid.iteye.com/blog/523124


  1.                /*阻止事件默認行爲*/  

  2.              function prDefault(evt)  

  3.               {  

  4.                             /*IE瀏覽器*/  

  5.                      if($.browser.msie)  

  6.                     {  

  7.                         evt.keyCode=0;  

  8.                         evt.returnValue=false;  

  9.                      }else  

  10.                          {  

  11.                         evt.preventDefault();  

  12.                        }  

  13.       

  14.                 }  

  15.   

  16.                  /*禁用頁面刷新*/  

  17.     function noRefresh(event)  

  18.     {  

  19.         /*F5刷新*/  

  20.         if(event.keyCode==116)  

  21.         {  

  22.             prDefault(event);  

  23.             return false ;  

  24.         }  

  25.           

  26.         /*ctrl+r or ctrl+n 刷新 */  

  27.         if(event.ctrlKey && (event.keyCode==78||event.keyCode==82))  

  28.         {  

  29.             prDefault(event);  

  30.             return false;  

  31.         }  

  32.         /*shitf +f10 右鍵菜單*/  

  33.         if(event.shiftKey && event.keyCode==121)  

  34.         {  

  35.             prDefault(event);  

  36.             return false;  

  37.         }     

  38.     }  

  39.       

  40. (function($){  

  41.     $(function(){  

  42.         /*禁用頁面右鍵*/    

  43.          $(document).bind("contextmenu",function(event){  

  44.             return false;  

  45.          });      

  46.     });  

  47.       

  48. })(jQuery);  

  49.       

 

  將上述js代碼加入頁面後,需要在頁面中添加keydown事件

 

Html代碼  收藏代碼

  1. <body onkeydown="noRefresh(event)">  

 PS:禁用刷新,不僅僅只是禁用F5,此外還有ctrl+r,shift+f10和右鍵菜單。此外,IE瀏覽器與其他瀏覽器對於阻止事件默認行爲的方式不一樣,我這裏主要使用jQuery來判斷瀏覽器類型,然後分開處理



http://www.yiifans.com/forum.php?mod=viewthread&tid=36

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章