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

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

时间: 2024-09-22 01:03:01

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

JavaScript中关键字 in 的使用方法详解_javascript技巧

for-in循环应该用在非数组对象的遍历上,使用for-in进行循环也被称为"枚举". 对于数组 ,迭代出来的是数组元素 但不推荐,因为不能保证顺序,而且如果在Array的原型上添加了属性,这个属性也会被遍历出来,所以 最好数组使用正常的for循环,对象使用for-in循环 对于对象 ,迭代出来的是对象的属性: var obj = { "key1":"value1", "key2":"value2", &q

Javascript中的迭代、归并方法详解_基础知识

迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的函数,如果每项都返回true,那么就会返回true filter() 对数组中的每一个项运用给定的函数,把返回true的项组成一个新数组并返回 forEach() 对数组中的每一项运用给定的函数,但是没有任何的返回值 map() 对数组中的每一个项运用给定的函数并返回每次函数调用的结果组成新的数组

jQuery实现form表单基于ajax无刷新提交方法详解_jquery

本文实例讲述了jQuery实现form表单基于ajax无刷新提交方法.分享给大家供大家参考,具体如下: 首先,新建Login.html页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o

javascript中call apply 与 bind方法详解_基础知识

在JavaScript中,call.apply和bind是Function对象自带的三个方法,本文将通过几个场景的应用,来详细理解三个方法. call() call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 当调用一个函数时,可以赋值一个不同的 this 对象.this 引用当前对象,即 call 方法的第一个参数. 通过 call 方法,你可以在一个对象上借用另一个对象上的方法,比如Object.prototype.toString.call([]),

php抓取页面的几种方法详解_php技巧

在 做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数据我们不能直接输出,往往需要对内容进行提取,然后再进行格式化,以更加友好的方式显现出来.下面简单说一下php抓取页面的几种方法及原理:一. PHP抓取页面的主要方法:1. file()函数    2. file_get_contents()函数  3. fopen()->fread()->fclose()模式 

阅读星APP全屏阅读关闭方法详解

给各位阅读星软件的使用者们来详细的解析分享一下全屏阅读的关闭方法. 方法分享: 1.打开阅读星,点击右下角的头像按钮.     2.点击[设置]     3.点击[阅读设置]     4.将[全屏阅读]开关关闭.     全屏阅读多出来的哪一行空间其实也没有能多显示多少字, 少这一行空间对阅读其实不会造成什么影响,反而能带来让手机消息显示更清楚的好处. 好了,以上的信息就是小编给各位阅读星的这一款软件的使用者们带来的详细的全屏阅读的关闭方法解析分享的全部内容了,各位看到这里的软件使用者们,小编相

Android编程实现禁止状态栏下拉的方法详解

本文实例讲述了Android编程实现禁止状态栏下拉的方法.分享给大家供大家参考,具体如下: 简介 项目需求APP全屏时,要禁止状态栏的下拉,这个应该是一个普遍的需求了吧,但Android系统没有直接提供给普通APP直接调用的接口.那么我们只能自己想办法增加接口去实现该功能了. 具体实现方法 1. 修改SystemUI 路径:==/frameworks/base/packages/SystemUI//src/com/android/systemui/statusbar/phone/PhoneSta

ASP.NET刷新页面的几种方法详解_实用技巧

第一种: 复制代码 代码如下: private void Button1_Click( object sender, System.EventArgs e )   {     Response.Redirect( Request.Url.ToString( ) ); } 第二种: 复制代码 代码如下: private void Button2_Click( object sender, System.EventArgs e )   {     Response.Write( "     <

基于jquery ajax 用户无刷新登录方法详解_jquery

Ajax框架就是提供模块化实现Ajax功能的集合,Ajax框架可以是各种语言实现的(比如SAJAX有各种语言的实现),Ajax只是jquery中的一部分, 实例1 复制代码 代码如下: $.ajax({ type:'post',//可选get url:'action.php',//这里是接收数据的PHP程序 data:'data='dsa',//传给PHP的数据,多个参数用&连接 dataType:'text',//服务器返回的数据类型 可选XML ,Json jsonp script html