JavaScript阻止浏览器F5刷新

前几天的项目用到一个小功能,用js来阻住用户在键盘上按F5刷新,这个功能不难,主要就是获取键盘事件,如果是按的F5则阻止就好了。话不多说直接上代码。

//禁止用F5键
	document.onkeydown = function(e){
    e = window.event || e;
    var keycode = e.keyCode || e.which;
    if(keycode == 116){
        if(window.event){// ie
            try{e.keyCode = 0;}catch(e){}
            e.returnValue = false;
        }else{// firefox
            e.preventDefault();
        }
    }
} 

看了代码是不是很简单呢?只要获取到document的键盘按下的事件,然后获取按键的keyCode,F5的keyCode是116 ,然后再分浏览器的阻止浏览器默认行为(此处为刷新)就可以了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-09 22:25:15

JavaScript阻止浏览器F5刷新的相关文章

JavaScript停止冒泡和阻止浏览器默认行为

事件兼容 function myfn(e){ var evt = e ? e:window.event; } js停止冒泡 function myfn(e){ window.event? window.event.cancelBubble = true : e.stopPropagation(); } js阻止默认行为 function myfn(e){ window.event? window.event.returnValue = false : e.preventDefault(); }

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别

转自:http://blog.csdn.net/zoohouse/article/details/7552594 先来说"刷新",它是在你现有页面的基础上,检查网页是否有更新的内容.在检查时,会保留之前的一些变量的值,因此有可能会造成刷新后网页出现错误,或者打不开的情况:"转到"和在地址栏回车,则相当于你重新输入网页的URL访问,这种情况下,浏览器会尽量使用已经存在于本机中的缓存.也就是说,"刷新" 是取网页的新内容来更新本机缓存,在更新的同时保

在浏览器地址栏按回车、F5、ctrl+F5刷新页面的区别

url地址栏里敲击enter:这样的刷新,大家可以在firebug里看一下,只有少数的请求会发送出去,而且几乎没有图片的请求,这是因为请求时会先检查本地是不是缓存了请求的图片,如果有缓存而且没有过期(过期可以通过该图片请求的header查看),他就不会发出这个图片request. f5:f5刷新比enter略慢,为什么呢,因为他还是把所有请求都发给了server,只是在request里的header里有信息 Expires Fri, 28 Jun 2013 07:29:55 GMT Last-M

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别--转

其中,在地址栏按回车又分为两种情况.一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下: Host    192.168.3.174:8080User-Agent    Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*

javascript阻止事件冒泡和浏览器的默认行为

/*---------------------------    功能:停止事件冒泡    ---------------------------*/    function stopBubble(e) {        //如果提供了事件对象,则这是一个非IE浏览器        if ( e && e.stopPropagation )            //因此它支持W3C的stopPropagation()方法            e.stopPropagation();  

JavaScript屏蔽Ctrl+N、Shift+F10、F5刷新、退格键

屏蔽鼠标右键.Ctrl+N.Shift+F10.F5刷新.退格键 function window.onhelp(){return false} //屏蔽F1帮助 function KeyDown(){ if ((window.event.altKey)&&http://www.hrbfc120.com ((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ← (window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 → ale

js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( e && e.stopPropagation )//因此它支持W3C的stopPropagation()方法e.stopPropagation(); else//否则,我们需要使用IE的方式来取消事件冒泡 window.event.cancelBubble = true;return fal

JavaScript基础——浏览器对象模型(BOM)

简介 ECMAScript是JavaScript的核心,但如果要在Web中使用JavaScript,那么BOM(浏览器对象模型)则无疑才是真正的核心.BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网页内容无关.多年来,缺少事实上的规范导致BOM及有意思又有问题,因为浏览器提供商会按照各自的想法随意去扩展它.于是,浏览器之间公有的对象就成为了事实上的标准.这些对象在浏览器中得以存在,很大程度上是由于它们提供了与浏览器的互操作性.W3C为了把浏览器中JavaScript最基本的部分标准化

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,