以下要点:https://gist.github.com/1876791(借鉴this question中的演示)
是一个在js中使用window.onbeforeunload
的简单例子。
我们遇到的问题如下(适用于Safari 5.1.3而不是最新的Chrome版本):
cmd-R
重新加载页面。如果你真的想离开这个页面,你会被问到另一次。这是Safari的错误吗?有办法解决这个问题吗?
答案 0 :(得分:1)
即使在跳过OP的第2步和第3步时,我也能够重现这个问题。任何形式的重新加载都会出现这个问题。重现的简单步骤:
加载进度在重新加载后立即进行预先啮合,并在确认对话框的整个生命周期内保持这种状态(显然是为了传达“悬越悬崖边缘”式的成熟情况;)但是:
X
符号保持开启状态,并且加载进度仍然处于约10%标记处。这看起来像Webkit / Safari UI错误 - 它看起来无法在页面停留状态下脱离进度条。最好将其报告给Webkit team,或者,自从您在Safari中体验到这一点后,Safari team可能会更好。
答案 1 :(得分:0)
请参阅此页面 - > 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';
};