如何屏蔽掉IE里的"刷新",F5键功能?

来源:互联网 发布:淘宝如何投诉假冒商品 编辑:程序博客网 时间:2024/04/29 18:21
 
 
 
我做一个ASP程序,在填制表单的时候,如果用户点击了"刷新"或者按了  F5  键,输入的数据便不被保存了.  
如何在打开的一个新页面中屏蔽掉IE里的"刷新"功能?包括工具条里的"刷新"功能和F5键?
 
<  %    
 
Response.Buffer  =  True    
 
Response.ExpiresAbsolute  =  Now()  -  1    
 
Response.Expires  =  0    
 
Response.CacheControl  =  "no-cache"    
 
%  >  
---------------------------------------------------------------  
 
梅花雨的代码给你:  
<html>  
<head>  
   <meta  http-equiv="Content-Type"  content="text/html;  charset=gb2312">  
   <noscript><meta  http-equiv="refresh"  content="0;url=about:noscript"></noscript>  
   <title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键</title>  
</head>  
<body>  
 
<script  language="Javascript"><!--  
   //屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5刷新、退格键  
   //Author:  meizz(梅花雨)  2002-6-18  
 
function  document.oncontextmenu(){event.returnvalue=false;}//屏蔽鼠标右键  
function  window.onhelp(){return  false}  //屏蔽F1帮助  
function  document.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  +  R  
         event.keyCode=0;  
         event.returnvalue=false;  
         }  
   if  (event.keyCode==122){event.keyCode=0;event.returnvalue=false;}    //屏蔽F11  
   if  (event.ctrlKey  &&  event.keyCode==78)  event.returnvalue=false;      //屏蔽  Ctrl+n  
   if  (event.shiftKey  &&  event.keyCode==121)event.returnvalue=false;    //屏蔽  shift+F10  
   if  (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");  
           return  false;  
   }  
}  
</script>  
屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格键  
 
</body>  
</html>  
---------------------------------------------------------------  
 
//屏蔽快捷键函数  
function  KeyDown(){  
           if  ((window.event.altKey)&&  
           ((window.event.keyCode==37)  ¦  ¦      //屏蔽  Alt+  方向键  ←  
             (window.event.keyCode==39))){    //屏蔽  Alt+  方向键  →  
     //    alert("对不起,您不能使用ALT+方向键前进或后退!");  
         event.returnvalue=false;  
         }  
   if  (  
//(event.keyCode==8)      ¦  ¦                                  //屏蔽退格删除键  
           (event.keyCode==116)  ¦  ¦                                  //屏蔽  F5  刷新键 
 
 (event.ctrlKey  &&  event.keyCode==82)){  //Ctrl  +  R  
         event.keyCode=0;  
         event.returnvalue=false;  
         }  
   if  ((event.ctrlKey)&&(event.keyCode==78))      //屏蔽  Ctrl+n  
         event.returnvalue=false;  
   if  ((event.shiftKey)&&(event.keyCode==121))  //屏蔽  shift+F10  
         event.returnvalue=false;  
   if  (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");  
           return  false;}  
   }  
---------------------------------------------------------------  
 
只能屏蔽F5,你不可能屏蔽IE里的刷新按钮,因此,我其实是采用了一种曲折的方法,把不让刷新的那个页面的数据保留在SESSION变量里了