我正在使用JavaScript在卸载该页面时跟踪用户在我页面上的活动。考虑以下简化的dummie脚本来模拟我在卸载时所做的事情:
$(window).unload(function() {
$.get("http://www.google.de/images/srpr/logo3w.png");
});
在这种情况下,图片网址可用作跟踪数据的持有者。
在关闭浏览器窗口时,某些浏览器(例如Firefox 3)会请求该图像,而其他浏览器(例如Firefox 6)中不会加载该图像。
可能不应该这样做;无论如何,只要我能说出卸载事件的可靠性,我就会坚持下去。
有关此的任何经验吗?
答案 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是唯一的选择。