• 技术文章 >web前端 >js教程

    javascript如何判断浏览器关闭和事件捕捉代码详解

    伊谢尔伦伊谢尔伦2017-07-24 09:58:26原创3149
    由于浏览器是无状态的,在这时候捕捉浏览器关闭会出现两种情况:

    1.真正的关闭浏览器 (a.点击关闭按钮 b.右击任务栏关闭 c.按alt+F4关闭)
    2.刷新浏览器。
    那如何判断区分这两种动作呢?
    Javascript代码处理方法:

    function window.onbeforeunload() 
    { 
    //用户点击浏览器右上角关闭按钮或是按alt+F4关闭 
    if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) 
    { 
    // alert("点关闭按钮"); 
    document.getElementById("hiddenForm:hiddenBtn").click(); 
    // window.event.returnValue="确定要退出本页吗?"; 
    } 
    //用户点击任务栏,右键关闭。s或是按alt+F4关闭 
    else if(event.clientY > document.body.clientHeight || event.altKey) 
    { 
    // alert("任务栏右击关闭"); 
    document.getElementById("hiddenForm:hiddenBtn").click(); 
    // window.event.returnValue="确定要退出本页吗?"; 
    } 
    //其他情况为刷新 
    else 
    { 
    // alert("刷新页面"); 
    } 
    }

    其中 event.clientX 鼠标光标X坐标
    document.body.clientWidth 窗体工作区宽度
    event.clientY 鼠标光标Y坐标
    event.altKey 是否按下alt键

    事件捕捉方法:

    <body scroll="no" onbeforeunload="return CloseEvent();" onunload="UnLoadEvent()" > 
    </body> 
    <script language="JavaScript" type="text/javascript"> 
    var DispClose = true; 
    function CloseEvent() 
    { 
    if (DispClose) 
    { 
    return "是否离开当前页面?"; 
    } 
    } 
    function UnLoadEvent() 
    { 
    DispClose = false; 
    //在这里处理关闭页面前的动作 
    } 
    </script>

    在页面卸载之前引发onbeforeunload事件,如果用户选择“是”即确定卸载页面将引发onunload事件,否则返回页面不做任何操作。

    以上就是javascript如何判断浏览器关闭和事件捕捉代码详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript Firefox webkit
    上一篇:JavaScript命令模式是什么?命令模式用法实例详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 聊聊如何选择一个最好的Node.js Docker镜像?• Angular中什么是变更检测?什么情况下会引起变更检测?• 浅析Angular变更检测中的DOM更新机制• 一文带你深入了解Node中的Buffer类• Angular开发问题记录:组件拿不到@Input输入属性
    1/1

    PHP中文网