Firefox 46存在问题,在所有其他浏览器上运行正常。 退出页面后,我问下面的问题。 Firefox完全忽略它。 求救!
window.onbeforeunload = ThisCheckExittingPage;
var ThisCheckExitWindow = 1;
// Checks before exitting
// ThisCheckExitWindow = 1;
// Does NOT check before exitting
// ThisCheckExitWindow = 0;
function ThisCheckExittingPage() {
if (ThisCheckExitWindow == 1)
{
return "You are about to exit this page.";
}
}
答案 0 :(得分:1)
这看似于设计,因为WindowEventHandlers.onbeforeunload - Web APIs | MDN有这样的说明:
为了防止不需要的弹出窗口,浏览器可能无法显示创建的提示 在beforeunload事件处理程序中,除非页面已被交互 用。自Firefox 44(Bugzilla)以来,Firefox已实施此策略。
正如relevant patch所示,mUserHasInteracted
标志变量是在窗口中发生鼠标或键盘事件后设置的。