Heim > Fragen und Antworten > Hauptteil
P粉1869047312023-08-25 00:34:09
不再是了。所有主要浏览器都开始忽略实际消息并只显示自己的消息。
正确。 很久以前,您可以使用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 };
这就是你所能做的。
P粉1436404962023-08-25 00:32:48
tl;dr - 在大多数现代浏览器中您无法再设置自定义消息
为了在用户关闭窗口之前设置确认消息,您可以使用
jQuery
$(window).bind("beforeunload",function(event) { return "You have some unsaved changes"; });
Javascript
window.onbeforeunload = function() { return "Leaving this page will reset the wizard"; };
重要的是要注意,您不能将 确认/警报
内部 beforeunload< /代码>
以下是使用我有权访问的浏览器的结果:
Chrome:
火狐浏览器:
Safari:
IE:
有关浏览器支持和删除自定义消息的更多信息: