【发布时间】:2016-09-13 03:01:05
【问题描述】:
在 safari 9.1 中,jquery beforeunload 浏览器弹出窗口第二次没有出现。 一旦用户单击弹出窗口中的离开页面按钮,页面就会重新加载。但在此之后,尽管控件转到代码,但弹出窗口永远不会出现。除非再次重新打开浏览器,否则弹出窗口永远不会出现。 PFB代码
window.addEventListener("beforeunload", function (e) {
if(condition) {
e.returnValue=""; // for chrome
return "message";
}
});
【问题讨论】:
-
我可以确认这一点。在过去的几个小时里,我一直在寻找在 Safari 上实现它。有谁知道这是否可行?我对此表示怀疑,因为这似乎是浏览器的政策,以避免因滥用提示而惹恼用户。
-
我也可以确认这个问题。使用 Safari 中的 javascript 调试器,附加到 onbeforeunload 事件的函数将被执行,但如果用户之前通过“离开”单击回答了此对话框,则离开或停留对话框永远不会出现。恢复正确行为的唯一方法是关闭浏览器窗口并重新打开。在 Safari 9.1.1 中测试。
-
有没有办法通过javascript解决这个问题
-
有人找到解决方案了吗?我在 mac safari 11.0 上遇到了同样的问题
-
有什么更新吗?我也在为此苦苦挣扎。我发现了一个关于此的错误报告:openradar.me/28814642,它被标记为另一个问题的重复,但我无法访问原始问题?
标签: jquery safari onbeforeunload