chrome
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
var _beforeUnload_time = 0, _gap_time = 0;
window.onunload = function (){
_gap_time = new Date().getTime() - _beforeUnload_time;
if(_gap_time <= 5){//浏览器关闭
// return confirm("您确定要离开系统么?chrome关闭");
clearCookie();
}else{//浏览器刷新
console.log(document.domain);
return confirm("您确定要离开系统么?chrome刷新");
}
}
window.onbeforeunload = function (){
_beforeUnload_time = new Date().getTime();
};
function clearCookie() {
//退出登录
$.ajax({
url: "/logout"
,type: 'get'
,success: function(res){
}
});
//清除cookie
var keys = document.cookie.match(/[^ =;]+(?=\=)/g);
if (keys) {
for (var i = keys.length; i--;) {
// document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString();//清除当前域名下的,例如:m.kevis.com
document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString();//清除当前域名下的,例如 .m.kevis.com
}
}
}
IE、FoxFire etc.
//点击关闭或重载按钮
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 (clientBrowser==="Chrome") {
clearCookie();
}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 "";
}
}