我需要提醒用户,他们在离开页面时会丢失信息.使用onbeforeunload事件可以轻松完成此操作.我的问题是,如果用户决定离开,我想采取一些行动.
这是一个例子(我正在使用jquery,因为它仍然被加载):
$(window).on('beforeunload',function(e){
return "Do you really want to leave?";
});
我想做的是这样的事情(这段代码不起作用,我知道,这只是一个例子来说明我正在尝试做什么):
$(window).on('beforeunload',function(e){
// Ask for user confirmation
var bUserAnswer = confirm("Do you really want to leave?");
if(bUserAnswer)
{
// Do something...
}
else
{
// Do something else...
}
// Close everything if the user decides to leave...
return bUserAnswer;
});
我不知道我在这里想要做什么甚至是可能的……谷歌搜索并没有给我任何指示,所以我转向我最喜欢的专家组!
知道怎么做吗?
谢谢!
最佳答案
离开页面时,事件按之前的顺序卸载和卸载执行.当然,如果beforeunload事件没有完成,则unload事件不会.
beforeunload事件未完成的方式是用户单击“Stay on Page”按钮而不是“Leave Page”(如果该对话框显示给他们,就像在代码中一样).
因此,如果您知道他们不会离开页面的可能性将始终呈现给他们,则卸载事件执行的唯一方法是如果未阻止(由用户)执行beforeunload事件.
因此,当用户实际选择在卸载事件中离开页面时,您应该能够放置要执行的任何代码.
至于知道用户是否决定留在页面上,我不知道如何抓住它:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。