是否可以在卸载前弹出窗口中显示自定义消息?

2023-11-24

使用时window.onbeforeunload (or $(window).on("beforeunload")),是否可以在该弹出窗口中显示自定义消息?

也许是一个适用于主流浏览器的小技巧?

通过查看现有的答案,我感觉这在过去使用类似的东西是可能的confirm or alert or event.returnValue,但现在看来他们不再工作了。

那么,如何在 beforeunload 弹出窗口中显示自定义消息?这甚至/仍然可能吗?


tl;dr - 在大多数现代浏览器中您无法再设置自定义消息

快速说明(因为这是一个旧答案) - 如今所有主要浏览器都不支持自定义消息beforeunload弹出窗口。没有新的方法可以做到这一点。如果您仍然需要支持旧浏览器 - 您可以找到以下信息。

为了在用户关闭窗口之前设置确认消息,您可以使用

jQuery

$(window).bind("beforeunload",function(event) {
    return "You have some unsaved changes";
});

JavaScript

window.onbeforeunload = function() {
    return "Leaving this page will reset the wizard";
};

      重要的是要注意你can't put confirm/alert inside beforeunload


还有一些注意事项:

  1. NOT所有浏览器都支持这一点(更多信息在浏览器兼容性MDN 部分) 2. 在 Firefox 中,您必须与页面进行一些真正的交互,才能向用户显示此消息。
    3. 每个浏览器都可以将自己的文本添加到您的消息中。

以下是使用我有权访问的浏览器的结果:

Chrome:

Chrome alert on exit

Firefox:

Firefox alert on exit

Safari:

Safar alert on exit

IE:

IE alert on exit

只是为了确保 - 你需要包含 jquery

有关浏览器支持和删除自定义消息的更多信息:

  1. Chrome removed版本 51 支持自定义消息
  2. Opera removed版本 38 支持自定义消息
  3. Firefox 在 44.0 版本中删除了对自定义消息的支持(仍在寻找此信息的来源)
  4. Safari removed9.1 版支持自定义消息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以在卸载前弹出窗口中显示自定义消息? 的相关文章

随机推荐