浏览器允许卸载多少活动?

时间:2011-10-10 14:39:24

标签: javascript html events browser

我正在使用JavaScript在卸载该页面时跟踪用户在我页面上的活动。考虑以下简化的dummie脚本来模拟我在卸载时所做的事情:

$(window).unload(function() {
    $.get("http://www.google.de/images/srpr/logo3w.png");
});

在这种情况下,图片网址可用作跟踪数据的持有者。

关闭浏览器窗口时,某些浏览器(例如Firefox 3)会请求该图像,而其他浏览器(例如Firefox 6)中不会加载该图像。

可能不应该这样做;无论如何,只要我能说出卸载事件的可靠性,我就会坚持下去。

有关此的任何经验吗?

1 个答案:

答案 0 :(得分:8)

我对此有一些经验,我建议采用一种略有不同的方法:

$(window).unload(function() {
    new Image().src = "http://www.google.de/images/srpr/logo3w.png?timestamp=" 
           + new Date().getTime();
});

挑战在于,如果您在卸载时进行AJAX调用,则应使用同步模式。使用普通的异步模式,它可能根本不会成功(例如在Chrome中)。

但在这种情况下,使用图像的技巧同样可靠,因为通信只是一种方式。这适用于GET,但如果你需要POST一些东西,那么sync-mode是唯一的选择。