`

主题:监听浏览器关闭按钮点击事件 -- 使用JS

阅读更多
Onunload与Onbeforeunload
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。

    Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。曾经做一个考试系统,涉及到防止用户半途退出考试(有意或者无意),代码如下:
<script type="text/javascript">   
<!--     
    window.onbeforeunload = onbeforeunload_handler;   
    window.onunload = onunload_handler;   
    function onbeforeunload_handler(){   
        var warning="确认退出?";           
        return warning;   
    }   
       
    function onunload_handler(){   
        var warning="谢谢光临";   
        alert(warning);   
    }   
// -->   
</script> 


这段代码在FF和IE上都能正确执行.再点击关闭按钮时首先触发obbeforeunload事件,点击否定时不执行onload事件.

通常应用在 注销session等等登陆信息 等方面.... 
分享到:
评论
1 楼 javaoldboy 2009-01-01  
就是没办法区别到底是关闭页面还是刷新页面

相关推荐

    js实现监听浏览器关闭和刷新事件

    js实现监听浏览器关闭和刷新事件支持三大浏览器,点击直接看效果

    JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法。分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) [removed] [removed]=onclose; function ...

    js调用浏览器打印模块实现点击按钮触发自定义函数

    把浏览器打印的功能保留并赋予到自己添加的按钮当中,可以在点击按钮的同时触发自定义的函数

    JS区分浏览器页面是刷新还是关闭

    在web开发中我们经常各种各样的需求。今天小编给大家介绍JS区分浏览器页面是刷新还是关闭标签页,非常实用,感兴趣的童鞋参考下吧

    微信浏览器左上角返回按钮监听的实现

    即 公众号菜单-&gt;A-&gt;B-&gt;C,点击返回后,返回了B(且无刷新),目的是要在C直接跳转至A(公众号菜单-&gt;A-&gt;B-&gt;C,C-&gt;A),虽然可以在C上添加按钮之类的操作进行跳转(公众号菜单-&gt;A-&gt;B-&gt;C-&gt;A),但当点击左上角返回按钮后,...

    js事件监听机制(事件捕获)总结

    在前端开发过程中我们经常会遇到给页面元素添加事件的问题,添加事件的js方法也很多,有直接加到页面结构上的,有使用一些js事件监听的方法,由于各个浏览器对事件冒泡事件监听的机制不同,le浏览器只有事件冒泡,...

    【JavaScript源代码】vue浏览器返回监听的具体步骤.docx

     需要监听浏览器的回退按钮,并阻止其默认事件。 具体步骤如下: 1、挂载完成后,判断浏览器是否支持popstate mounted(){ if (window.history && window.history.pushState) { history.pushState(null, null, ...

    JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法

    主要介绍了JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法,需要的朋友可以参考下

    vue实现微信浏览器左上角返回按钮拦截功能

    主要介绍了vue实现微信浏览器左上角返回按钮拦截功能,本文通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    browser-extension-toggle-button:浏览器扩展切换按钮

    调用listen()来监听事件。 要激活,请发送激活消息或单击浏览器扩展程序的按钮。 参数:选项(对象): 图标(对象):Chrome:将“活动”方形图标宽度映射到图像路径,Safari:“活动”图像路径(视网膜支持:...

    JavaScript 监控微信浏览器且自带返回按钮时间

    比如现在有一个操作 是 A-&gt;B-&gt;C-&gt;B 在B页面..."我监听到了浏览器的返回按钮事件啦"&#41;;//根据自己的需求实现自己的功能 [removed] = 'http://www.baidu.com'; }, false); function pushHistory() { var state = {

    javascript监听鼠标滚轮事件浅析

    这些都是通过js对鼠标滚轮的事件监听来实现的。今天这里介绍的是一点简单的js对于鼠标滚轮事件的监听。 不同浏览器不同的事件 首先,不同的浏览器有不同的滚轮事件。主要是有两种,onmousewheel(firefox不支持)和...

    一个复杂美观的登录界面

    3、按钮监听响应事件的实现方式优化; 4、包含全屏方法的实现; 5、连个div块的叠加; ---------------------------以下为上个版本介绍--------------------------- 用html、JS、css写的一个登录界面的网页。 可以...

    javascript 跨浏览器开发经验总结(五) js 事件

    简单事件模型和高级事件模型 简单事件模型和高级事件模型简单事件,就是事件与页面元素直观的绑定在一起的形式,如: 代码如下: &lt;div xss=removed&gt; element.onclick = function(){alert&#40;this[removed]&#41;;} ...

    js实现无刷新监听URL的变化示例代码详解

    history.back(): 返回浏览器会话历史中的上一页,跟浏览器的回退按钮功能相同 history.forward():指向浏览器会话历史中的下一页,跟浏览器的前进按钮相同 history.go(): 可以跳转到浏览器会话历史中的指定的某一...

    有道JavaScript监听浏览器的问题

    OK,问题来了:假如我们在a 所在的页面有个按钮,可以触发点击事件并进行一些操作。 而这个点击事件需要在href打开的IE窗口关闭后触发。。。 这个时候,我们如何监视href打开的窗口呢?(通过javascript,不要说...

    苹果浏览器微信底部返回栏显示/隐藏的问题

    此段js代码完美解决 ; (function () { try { isIOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) if (fn.isIOS) { // window.history.pushState({}, title, #); document.addEventListener...

    (手机移动web)iscroll+html5+css3+js实现下拉刷新上拉分页的功能

    基于iscroll4和html5、css3实现的下拉刷新、上拉分页的demo,兼容pc、android、ios、wp等设备。解决了上拉分页footer存在bug的问题。 支持chrome、ff、opera、360浏览器、百度浏览器、qq浏览器等众多主流浏览器。

    ckplayer6.4

    2014‎-8-1‎ ‏‎21:00:00 增加在无法调用ckplayer.xml以及ckplayer.js中的ckstyle()函数时使用默认配置的功能 2014-7-31 09:28:00 修正了在iPhone微信浏览器里无法加载视频的错误。 ‎2014‎-7‎-25‎ ‏‎20:42:...

Global site tag (gtag.js) - Google Analytics