每次用户离开网站时,我都会尝试在服务器上运行 bat。
我通过使用使该部分工作beforeunload,当然每次卸载页面时都会触发它。
因此,当用户单击链接时,我添加了一个标志,这也有效。
现在只有后退/前进和重新加载触发蝙蝠,我不知道如何防止这种情况。
我找到了这个解决方案https://stackoverflow.com/a/36444134/9552448但它并不总是有效。
它仅在页面通过后退/前进或重新加载加载时才有效,但在通过链接加载时无效。
这是我的javascript:
<script language="JavaScript">
var linkClicked = 0;
$("a").click(function(){
linkClicked = 1;
});
window.addEventListener('beforeunload', function (e) {
if (linkClicked == 0) {
var xhttp = new XMLHttpRequest();
if (window.performance) {
console.info("window.performance works fine on this browser");
}
if (window.performance.navigation.type == 1) {
console.info("Used reload");
}
else if (window.performance.navigation.type == 2) {
console.info("Used backward/forward");
}
else {
xhttp.open("GET", "/bat/", true);
xhttp.send();
}
}
});
</script>
如果您需要更多信息,请告诉我。
任何建议仅在用户离开时才实现运行蝙蝠将不胜感激。
提前感谢您的帮助。