javascript - js 怎么区分浏览器tab刷新还是关闭
本文介绍了javascript - js 怎么区分浏览器tab刷新还是关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
网上用unbeforeunload 常见的解决办法都试了 不管用
解决方案
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script src="js/jquery-1.12.3.min.js"></script>
<script>
var currentKeyCode = -1, altkey = false, rightKey = false, pageY = 0, listernType = null;
$(window).keydown(function () {
top.altkey = event.altKey;
top.currentKeyCode = event.keyCode;
});
$(document).on("contextmenu", function (e) {
rightKey = true;
});
function isReloadOrClose(event) {
var msg = null;
if (currentKeyCode == 116 || rightKey) {
//116:F5
if (currentKeyCode == 116) {
msg = "刷新窗口!(F5)";
}
if (rightKey) {
msg = "右键刷新窗口!";
}
top.listernType = "reload";
} else {
msg = "点击关闭窗口";
top.listernType = "close";
if ((altkey || currentKeyCode == 18) || (currentKeyCode == 115)) {
msg = "关闭窗口!(alt+F4)";
}
if (currentKeyCode == 91) {
msg = "Mac关闭窗口!(commad)";
}
}
currentKeyCode = -1, altkey = false, rightKey = false, pageY = 0, listernType = null;
console.log(msg)
return msg;
}
window.onbeforeunload = function (event) {
return isReloadOrClose(event)
}
</script>
<body>
</body>
</html>
这篇关于javascript - js 怎么区分浏览器tab刷新还是关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文