js判断不同浏览器关闭tab还是刷新

window.onbeforeunload = function(event){
		return onBeforeUnload(event);
	}
	
	function onBeforeUnload(event){
		var clientBrowser = chargeBrowser();
		var isIE = document.all?true:false;//另一方法
		var evt = event ? event : (window.event ? window.event : null);
		if(clientBrowser=="IE"){
			var n = evt.screenX - window.screenLeft;
			var b = n > document.documentElement.scrollWidth - 20;
			if(b && evt.clientY < 0 || evt.altKey){
				console.log("IE关闭非刷新");
				return confirm("您确定要离开系统么?IE关闭非刷新");
			}else{
				console.log("IE刷新非关闭");
				return confirm("您确定要离开系统么?IE刷新非关闭");
			}
		}else{
			if(document.documentElement.scrollWidth != 0){
				console.log("FF刷新非关闭");
				return confirm("您确定要离开系统么?FF刷新非关闭");
			}else{
				console.log("FF关闭非刷新");
				return confirm("您确定要离开系统么?FF关闭非刷新");
			}
		}
	}
	
	function chargeBrowser() {
	    var userAgent = navigator.userAgent;
	    var isOpera = userAgent.indexOf("Opera") > -1;
	    if (isOpera) {
	        return "Opera"
	    }else if(userAgent.indexOf("Firefox") > -1) {
	        return "Firefox";
	    }else if(userAgent.indexOf("Chrome") > -1){
	        return "Chrome";
	    }else if(userAgent.indexOf("Safari") > -1) {
	        return "Safari";
	    }else if(userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
	        return "IE";
	    }else if(userAgent.indexOf("Trident") > -1) {
	        return "Edge";
	    }else if(userAgent.indexOf("QQ") > -1) {
	        return "QQ";
	    }else{
	    	return "";
	    }
	}

猜你喜欢

转载自blog.csdn.net/sinat_36707441/article/details/82253793