关闭或刷新页面上的确认完全不起作用

时间:2016-08-27 18:50:16

标签: javascript html onbeforeunload

当用户关闭标签页或刷新页面时,网站必须显示一个弹出窗口以确认这一点。 我试过这段代码:

window.onbeforeunload = function (e) {
    return confirm("Are you sure you want to leave this page?");
};

这在firefox或chrome中都不起作用。 在firefox中没有出现弹出窗口。在chrome中,默认值也没有被覆盖。 我甚至尝试使用以下代码,但无济于事:

window.onbeforeunload = function (e) {
    var dialogText = 'Are you sure about this?';
    e.returnValue = dialogText;
    return dialogText;
};

如何解决此问题? 任何代码片段都会有所帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

从Firefox 4,Chrome 51,Opera 38和Safari 9.1开始,将显示不受网页控制的通用字符串,而不是返回的字符串。例如,Firefox显示字符串“此页面要求您确认要离开 - 您输入的数据可能无法保存。”

- 来自Mozilla Developer Docs

答案 1 :(得分:0)

来自Firefox的文档:

  

为了防止不需要的弹出窗口,浏览器可能无法显示在beforeunload事件处理程序中创建的提示,除非页面已与之交互。

如果用户之前没有与该网页进行过互动,则无法显示弹出窗口。