jquery 离开网站或关闭浏览器时触发的事件

knsnq2tg  于 2022-11-03  发布在  jQuery
关注(0)|答案(4)|浏览(368)

当用户在浏览器中输入地址并点击返回或用户关闭浏览器时,我尝试了一段时间执行JavaScript函数。
我尝试了卸载事件,但无法获得警报。
这就是我正在做的事情:

$(window).unload(function () {
    alert("Are you sure?");
});

也可以

$(body).unload(function () {
    alert("Are you sure?");
});

我快没办法了!

ql3eal8s

ql3eal8s1#

您可以侦听在卸载页面时,在unload事件之前触发的beforeunload事件。

$(window).on('beforeunload', function(){
    // ...
})
hfsqlsce

hfsqlsce2#

有些浏览器(如Chrome)会在卸载事件处理程序中屏蔽警告,以防止出现这类恼人的消息。尝试使用console.log或在其中设置断点,以确定在没有警告的情况下是否会触发处理程序。
所以问题在一个类似的行:
window.onunload is not working properly in Chrome browser. Can any one help me?
您只能通过在beforeunload处理程序(HT @undefined)中返回一个字符串来传递警报,但我甚至会避免这样做,因为弹出窗口通常是不好的,而且大多数人在真正考虑框中的内容之前,都会做最小的处理来找到make-this-thing-go-away选项。

iugsix8n

iugsix8n3#

您在window.onbeforeunload中定义的函数,如果它返回一个字符串,它将弹出一个带有该消息的确认导航提示。

可以忽略警报!

window.onbeforeunload = function() {
    return "All unsaved data will be lost. Are you sure?";
};

有些浏览器会以不同的方式处理onbeforeunload。例如,最近的Firefox会忽略您的返回字符串,只显示标准消息。

oipij1gg

oipij1gg4#

$(window).bind('beforeunload', function(){
    alert("Are your sure?")
});

相关问题