我需要监控用户何时离开页面(到不同站点而不是同一站点)或关闭窗口/选项卡。我可以使用$(window).bind('unload', function() {});
来实现这一点,但onload
是一个包罗万象的事件:它还会捕获页面刷新并导航到同一网站上的其他页面。如何使用javascript / jQuery检测这两个事件(页面刷新和导航到同一网站中的另一个页面)?
答案 0 :(得分:3)
我认为这是不可能的,我不知道这样的事件。
一种可能的解决方案是将当前网址与目标网址进行比较,但由于安全和隐私原因,这是不可能的:
How can i get the destination url in javascript onbeforeunload event?
答案 1 :(得分:2)
在每页上,
var leaving = true;
$(function() {
$('a[rel!=ext]').click(function () { leaving = false; });
$('form').submit(function () { leaving = false; });
});
$(function() { window.onbeforeunload = unloadPage; });
function unloadPage() {
if(leaving) {
// Put your logic here
}
}
然后,只需确保指向外部网站的所有链接都具有rel="ext"
属性。