我尝试过几种浏览器:chrome,firefox和Internet Explorer。我的页面包含以下代码:
$(window).unload(function() {
alert('Leaving page');
});
,当我离开页面时,Leaving页面警报永远不会出现。我知道语法是正确的,因为当我更改代码以调用load函数时,只需删除“un-”就这样:
$(window).load(function() {
alert('Leaving page');
});
加载窗口时警报显示正常,控制台也没有说出被阻止的任何内容。我也尝试过使用onbeforeunload:
window.onbeforeunload = function() {
alert('Leaving page');
};
没有成功。
答案 0 :(得分:3)
这是设计的。您根本不能unload
event中的alert()
:
- UI交互无效(window.open,alert,confirm etc.)
如果您想让用户有机会改变关闭窗口的想法,beforeunload
是正确的事件。但是,您只能return
要显示的message
:
window.onbeforeunload = function () {
return 'Leaving already?';
};