以下要点:https://gist.github.com/1876791 (借用自这个问题中的演示)是js中使用window.onbeforeunload的一个非常简单的示例。
我们遇到的问题如下(使用Safari5.1.3,而不是最新的Chrome ):
cmd-R重新加载页面。如果你真的想离开这一页,你会被问到另一次。这是Safari的窃听器吗?有办法解决这个问题吗?
发布于 2012-03-04 18:33:43
即使在跳过OP的步骤2和步骤3时,我仍然能够重现这个问题。任何形式的重新加载都显示了这个问题。复制的极简步骤:
加载过程是在重新加载击中并停留之后视觉上进行的,所以整个生命周期的确认对话框(显然是为了传达“悬崖峭壁边缘”-type成熟的情况):
X符号,加载进度仍然保持在10%左右的位置。这看起来真的像一个Webkit/Safari用户界面错误-它看起来没有脱离进度栏停留在页面上的条件。最好是向Webkit团队报告,或者,由于您在Safari中体验到了这一点,也许狩猎队会更好。
发布于 2012-02-28 17:32:23
请参阅此页-> https://developer.mozilla.org/en/DOM/window.onbeforeunload
你必须处理这件事。页面上的示例运行良好。以下是代码:
window.onbeforeunload = function (e) {
e = e || window.event;
// For IE and Firefox prior to version 4
if (e) {
e.returnValue = 'Any string';
}
// For Safari
return 'Any string';
};https://stackoverflow.com/questions/9391317
复制相似问题