Javascript 确认关闭或刷新页面根本不工作

Javascript 确认关闭或刷新页面根本不工作,javascript,html,onbeforeunload,Javascript,Html,Onbeforeunload,当用户关闭选项卡或刷新页面时,站点必须显示一个弹出窗口以确认这一点。 我尝试了以下代码: window.onbeforeunload = function (e) { return confirm("Are you sure you want to leave this page?"); }; 这在firefox或chrome中都不起作用。 在firefox中没有弹出窗口。在chrome中,默认设置也没有被覆盖。 我甚至尝试使用以下代码,但都没有用: window.onbeforeun

当用户关闭选项卡或刷新页面时,站点必须显示一个弹出窗口以确认这一点。 我尝试了以下代码:

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;
};
我如何解决这个问题?
任何代码片段都会很有帮助。谢谢。

来自Firefox文档:

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


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

我在internet上找到了此片段:

window.onbeforeunload = function (e) {
        return "Please click 'Stay on this Page' if you did this unintentionally";
    };
这是完美的工作要求。
我发现你实际上不需要添加任何确认电话。如果您只返回一个字符串,这将提示浏览器确认离开页面。大多数商业浏览器默认支持此功能。

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


--在这篇类似的帖子中,我已经在这里解释过了:可能的重复