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

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

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

也许是在主要浏览器上起作用的小把戏?

通过查看现有的答案,我觉得这在过去是有可能的,比如confirmalertevent.returnValue但现在他们似乎不再工作了。

那么,如何在卸载前弹出窗口中显示自定义消息?这是可能的吗?


30秒到达战场
浏览 905回答 3
3回答

郎朗坤

为了在用户关闭窗口之前设置确认消息,可以使用jQuery$(window).bind("beforeunload",function(event) {     return "You have some unsaved changes";});JavaScriptwindow.onbeforeunload = function() {     return "Leaving this page will reset the wizard";};      重要的是要注意到不能放 confirm/alert 内 beforeunload还有几个注意事项:不所有浏览器都支持这一点(更多信息在浏览器兼容性(关于MDN的一节)在Firefox中,您必须与页面进行一些真正的交互,这样才能使用户看到此消息。每个浏览器都可以将自己的文本添加到您的邮件中。为了确保-您需要包含jQuery有关浏览器支持和删除自定义消息的更多信息:铬移除版本51中对自定义消息的支持歌剧移除Ver 38中对自定义消息的支持Firefox在Ver44.0中删除了对自定义消息的支持(仍在寻找此信息的来源)狩猎移除Ver9.1中对自定义消息的支持

侃侃尔雅

使用时window.onbeforeunload(或$(window).on("beforeonload")),是否可以在弹出窗口中显示自定义消息?现在不是了。所有主要的浏览器都开始忽略实际的消息,只显示自己的消息。通过查看现有的答案,我觉得这在过去是有可能的,比如confirm或alert或event.returnValue但现在他们似乎不再工作了。对,是这样。一个短的很久以前,你可以confirm或alert,最近您可以从onbeforeunload处理程序和该字符串将被显示。现在,字符串的内容被忽略,它被视为标志。当使用jQuery的on,您确实需要使用returnValue关于最初的活动:$(window).on("beforeunload", function(e) {     // Your message won't get displayed by modern browsers; the browser's built-in     // one will be instead. But for older browsers, best to include an actual     // message instead of just "x" or similar.     return e.originalEvent.returnValue = "Your message here";});或者传统的方式:window.onbeforeunload = function() {     return "Your message here"; // Probably won't be shown, see note above};这就是你所能做的。
打开App,查看更多内容
随时随地看视频慕课网APP