经过漫长的一天尝试找到解决此问题的方法后,我不断遇到同样的问题。
基本上,我有一个网站,如果用户点击"浏览器刷新"按钮,我想弹出一个"你确定"带有选项的警报框"重新加载"并且不会重新加载" (基本上,浏览器返回的内容)。
令人惊讶的是,它在IE中运行得很好。但是在chrome或firefox中,刷新通常没有弹出窗口。
只有点击身体某处,然后点击"浏览器刷新"才会显示弹出窗口。按钮。
我已经有以下和其他许多类似的选择:
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';
};
我尝试使用'触发器('点击')' .click()'来模拟页面加载时的点击事件。事件。
但是,在我自己(身体上)点击身体之前,仍然无法工作。
我创造了一支短笔,它复制了我所面临的问题。
https://codepen.io/kanchanrai/pen/LQEZYV
非常感谢任何帮助。提前致谢。
答案 0 :(得分:0)
也许迟到的答案......
以下是MDN documentation on beforeunload event所述的内容:
注意:为了防止不需要的弹出窗口,浏览器可能不会显示在beforeunload事件处理程序中创建的提示,除非该页面已与之交互,或者根本不显示它们。
这与您观察到的行为相符。