当用户通过在浏览器中键入地址并点击返回或用户关闭浏览器单击“x”按钮离开网站时,我正在尝试执行 javascript 函数。
我尝试了卸载事件,但我无法收到警报
这就是我正在做的事情:
$(window).unload(function () {
alert("Are you sure?");
});
还
$(body).unload(function () {
alert("Are you sure?");
});
我快没主意了!
当用户通过在浏览器中键入地址并点击返回或用户关闭浏览器单击“x”按钮离开网站时,我正在尝试执行 javascript 函数。
我尝试了卸载事件,但我无法收到警报
这就是我正在做的事情:
$(window).unload(function () {
alert("Are you sure?");
});
还
$(body).unload(function () {
alert("Are you sure?");
});
我快没主意了!
当页面被卸载时,您可以监听beforeunload
在 unload 事件之前触发的事件。
$(window).on('beforeunload', function(){
// ...
})
某些浏览器(如 Chrome)会在卸载事件处理程序中阻止警报,以防止此类烦人的消息。尝试使用 console.log 或在其中设置断点以查明当您在那里没有警报时是否触发了处理程序。
类似的问题:
window.onunload 在 Chrome 浏览器中无法正常工作。谁能帮我?
您只能通过在 beforeunload 处理程序(HT @undefined)中返回一个字符串来传递警报,但我什至会避免这样做,因为弹出窗口通常很糟糕,而且大多数人会做最少的处理来解决 make-this-thing-在他们真正考虑盒子的内容之前离开选项。
您在 window.onbeforeunload 中定义的函数,如果它返回一个字符串,它将弹出一个带有该消息的确认导航提示。
警报可能会被忽略!
window.onbeforeunload = function() {
return "All unsaved data will be lost. Are you sure?";
};
一些浏览器处理 onbeforeunload 的方式不同。例如,最近的 Firefox 将忽略您的返回字符串并仅显示一条标准消息。
$(window).bind('beforeunload', function(){
alert("Are your sure?")
});