0

考虑以下代码:

$(window).unload(function () {
    console.log('foo');
});

如果我通过导航到不同的 URL 来触发 unload 事件,则在浏览器开始获得响应之前,该事件不会触发。

即,如果 DNS 查找需要很长时间,或者远程服务器需要时间来响应(Firefox 中的加载程序逆时针动画,事件只有在开始顺时针旋转时才会触发)

导航开始后,我是否可以听到另一个事件?

我意识到我可以附加到链接点击并在那里拦截,但这会很麻烦,因为我必须在这里手动捕获无数的边缘情况。OnUnload是明智的地方,但它的行为不像我想要的那样:(

想法?

4

1 回答 1

2

window.onbeforeunload可能会满足您的需求。

于 2012-04-05T15:16:07.123 回答