浏览器关闭与后退

关闭浏览器当前页

此方法不太好操作兼容性不好。

//关闭浏览器
	function closeWin(){ 
		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||navigator.userAgent.indexOf("Chrome")>0) {
                    window.location.href = 'about:blank ';
                } else {
                    window.opener = null;
                    window.open('', '_self', '');
                    window.close();
                }
	}

禁止微信后退与提示关闭页面

//不显示微信后退按钮
		document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
		    WeixinJSBridge.call('hideToolbar');
		    WeixinJSBridge.call('hideOptionMenu');
		});
	//禁止后退
		 history.pushState(null, null, document.URL);
	        window.addEventListener('popstate', function () {
	        	if(confirm("交易已完成,是否关闭。")){
	        		close();
	        	};
	            history.pushState(null, null, document.URL);
	        });

	        function close(){
	        	//关闭页面
	        	WeixinJSBridge.call('closeWindow');
	        }

监听浏览器页面关闭事件

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

Onbeforeunload 是点击关闭或刷新触发的事件,

Onunload是确认后触发的事件,用来保存一些数据的。

window.onbeforeunload =function(e){
        return "关闭浏览器将退出系统";
    }
    window.onunload =function(e){
        return "关闭浏览器将退出系统";
    }
原文地址:https://www.cnblogs.com/zhangzhicheng/p/7290949.html