网站地图    收藏   

主页 > 前端 > javascript >

JavaScript禁止页面后退,刷新,关闭方法详解

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 现在浏览器都使用了多窗口了有时我们在写文章时一不小心就把页面关闭了,下面我来给大家介绍一个当我们关闭未保存页面时给出提示,如果我们再点击确定即可关闭了。...

例1

 代码如下 复制代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head>
<title> New Document </title>
</head>
<script language="javascript">
function RunOnBeforeUnload() {window.onbeforeunload = function(){ return '将丢失未保存的数据!'; } }
</script>
<body onload="RunOnBeforeUnload()">
刷新,关闭,后退,F5 测试
</body>
</html>

虽然onbeforeunload这个事件已经Web标准被淘汰,但目前能实现这个效果的也就只有这个事件.还好浏览器都能很好的支持.

测试结果:

IE6.0,FireFox,Chrome通过

上面只是给用户有提示,下面是完全禁止这些操作了

 代码如下 复制代码

<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>

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论