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

我试着用一段时间执行一个javascript函数,当用户通过在浏览器中键入地址离开网站并点击返回或用户关闭浏览器点击“x”按钮。

我尝试了卸载事件,但我无法获得警报

这就是我在做的事情:

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

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

我的想法已经用完了!

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

 $(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?") });