每次用户离开站点时,我都试图在服务器上运行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>
如果您需要其他信息,请告诉我。
任何建议仅在用户离开时才运行蝙蝠的建议。
预先感谢您的帮助。