每当页面刷新或卸载时,都会触发 window.onbeforeunload 事件。每当触发此事件时,都会给出一个确认/警报框。在这个确认/警报框中,我们有两个选项“离开此页面”和“留在此页面上”。我想在单击这两个按钮/选项时执行不同的操作。我该如何执行此操作/捕获这些按钮的单击?
<!DOCTYPE html>
<html>
<body >
<p>Close this window, press F5 or click on the link below to invoke the onbeforeunload event.</p>
<a href="http://www.w3schools.com">Click here to go to w3schools.com</a>
<script>
window.onbeforeunload = function() {
return "Do yoy want to Quit?";
}
</script>
</body>
</html>
最佳答案
根据Frederic的建议,我想测试一下定时器,结果是:你可以检查用户是否留在页面上,但你无法检查他是否出来并拦截事件。当您做出选择时计时器就会启动,然后计时器可用于为浏览器提供加载新页面的时间(如果您关闭浏览器,则计时器是立即的,时间是相对的)。但如果计时器用完,您就会知道要留在页面上。
在 Chrome 上测试,其他必须进行测试。
window.onbeforeunload = function() {
setTimeout(function(){
console.log('I\'m still here !');
},5000);
return "Do yoy want to Quit?";
}
希望对你有帮助。
关于javascript - 如何获取和使用 window.onbeforeunload 事件的返回语句中显示的提示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36872057/