【发布时间】:2014-01-02 18:45:46
【问题描述】:
我为这个愚蠢的问题道歉。我有这个简单的代码:
window.onbeforeunload = function(){
return 'Are you sure you want to leave?';
};
现在我想在用户选择“离开此页面”后放置一些代码。
我知道我们可以使用这个:
window.onunload = function(){
alert('bye');
};
但 window.onunload 仅在页面刷新或重定向时有效,而在浏览器关闭时无效。
我也试过这个:
window.onbeforeunload = function(){
if(confirm('are you sure?'))
alert('exit') //perfectly works
else
return false //will display the popup "Stay/Leave" with the message "false" - this is not what i expect
//preventDefault() -got some error,
};
在用户点击“离开此页面”后添加代码的最佳方式是什么?
或
是否可以捕获用户的选择是 STAY 还是 LEAVE?
重点是在用户选择任何选项后做某事
【问题讨论】:
-
简短回答:你不能可靠。
-
感谢@dystroy 的回复。我已经检查了您共享的链接,但它仍在使用窗口的卸载事件,该事件仅在重新加载或重定向页面时才能正常工作,但在浏览器关闭并继续阅读时不能正常工作,它说不依赖于 beforeunload,哇!想知道是否真的没有其他方法
-
您到底希望发生什么?
-
答案很简单:在浏览器窗口关闭时没有可靠的方法来做某事。如果用户友好地关闭您的选项卡,您可能希望在更改本地存储等小操作中取得成功,但除了标准对话框功能之外,您无法执行任何请求或显示任何内容。
标签: javascript