4

我需要监视用户何时离开页面(移至不同站点而不是同一站点)或关闭窗口/选项卡。我可以通过$(window).bind('unload', function() {});onload它是一个包罗万象的事件来实现这一点:它还捕获页面刷新并导航到同一网站上的不同页面。请问如何使用 javascript/jQuery 检测这两个事件(页面刷新和导航到同一网站中的另一个页面)?

4

2 回答 2

3

我认为这是不可能的,我不知道这样的事件。

一种可能的解决方案是将当前 url 与目标 url 进行比较,但由于安全和隐私原因,这是不可能的,请参阅:

如何在 javascript onbeforeunload 事件中获取目标网址?

于 2012-09-17T14:15:56.187 回答
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"属性。

于 2012-09-20T16:12:03.617 回答