h5 浏览器 js监听返回

h5   js监听返回事件,返回直接关闭窗口事件

$(function(){
    pushHistory();
    window.addEventListener("popstate", function(e) {
        //alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能
        //alert('guanbi');
        WeixinJSBridge.call('closeWindow');
        if(typeof(WeixinJSBridge)!="undefined"){
                WeixinJSBridge.call('closeWindow');
            }else{
                if (navigator.userAgent.indexOf("MSIE") > 0) {  
                    if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {  
                        window.opener = null; window.close();  
                    }  
                    else {  
                        window.open('', '_top'); window.top.close();  
                    }  
                }  
                else if (navigator.userAgent.indexOf("Firefox") > 0) {  
                    window.location.href = 'about:blank ';  
                    //window.history.go(-2);  
                }  
                else {  
                    window.opener = null;   
                    window.open('', '_self', '');  
                    window.close();  
                }
            }
    }, false);
    window.onbeforeunload = function() {
            return;
        } 
    function pushHistory() {
        var state = {
            title: "title",
            url: ""
        };
        window.history.pushState(state, "title", "");
    }
});

 js监听浏览器离开页面操作

概述

  onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。 onbeforeunload也是在页面刷新或关闭时调用,onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。onunload是无法阻止页面的更新和关闭的,而 onbeforeunload 可以做到。

  附:

    页面加载时只执行onload 
    页面关闭时先执行onbeforeunload,最后onunload 
    页面刷新时先执行onbeforeunload,然后onunload,最后onload  

<!DOCTYPE html>
    <head>
        <meta charset="UTF-8">
        <title>测试</title>
        <script>
          function checkLeave(){
            event.returnValue="确定离开当前页面吗?";
          }
      </script>
    </head>
    <body onbeforeunload="checkLeave()">
        测试
    </body>
</html>
发布了173 篇原创文章 · 获赞 29 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq_29058883/article/details/105430428