当前位置: 代码迷 >> JavaScript >> js障蔽F5和后退
  详细解决方案

js障蔽F5和后退

热度:428   发布时间:2012-09-16 17:33:16.0
js屏蔽F5和后退
以下代码, 在file的输入框内输入文字, 
按下F5或者后退出错, 为什么啊?
请指教
HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <SCRIPT LANGUAGE="JavaScript">
  <!--
    function keyEvent()
    {
        if ((event.keyCode == 116) || (event.keyCode == 8))
        {
            event.keyCode = 32;
            event.cancelBubble = false;
            event.returnValue = false;
            return false;
        }
    }
  //-->
  </SCRIPT>
 </HEAD>

 <BODY onkeydown="keyEvent()">
  <INPUT TYPE="file" VALUE="click">
 </BODY>
</HTML>



------解决方案--------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function keyEvent(event)
{
event = event || window.event;
if ((event.keyCode == 116) || (event.keyCode == 8))
{
event.keyCode = 32;
event.cancelBubble = false;
event.returnValue = false;
return false;
}
}
//-->
</SCRIPT>
 </HEAD>

 <BODY onkeydown="keyEvent(event)">
<INPUT TYPE="file" VALUE="click">
 </BODY>
</HTML>
------解决方案--------------------
event.keyCode 
IE,火狐下边定义不一样的,火狐下好像不叫keyCode
你用的那个浏览器
------解决方案--------------------
JScript code

Js代码
<script     language="javascript">          
//禁止用F5键          
function     document.onkeydown()          
{          
          if     (     event.keyCode==116)          
            {          
                    event.keyCode     =     0;          
                    event.cancelBubble     =   true;          
                  return   false;          
            }          
}          
           
//禁止右键弹出菜单          
function     document.oncontextmenu()          
{          
      return   false;          
}          
           
//下面代码实现全屏显示          
function     window.onload(){          
      var     Request     =   new     Array();//保存参数          
      var     s     =     location.search.substring(1);          
      if     (s     &&     s!=""){          
      var     list     =     s.split("&");          
for     (var     i=0;     i     <     list.length;     i++){          
var     pair     =     list[i].split("=");          
if     (pair[0]     &&     pair[0]     !=""){          
Request[unescape(pair[0])]     =     unescape(pair[1]);          
}          
}          
        }          
           
      var     fullscreen=Request["fullscreen"];          
      if(fullscreen!="yes"){          
      var     file     =self.location;          
      var     a     =     window.open("about:blank","","fullscreen=yes")          
        self.opener=null          
        self.close()          
        a.location=file     +   "?fullscreen=yes";          
        }          
}          
</script>      
<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> 
  相关解决方案