Mor*_*ris 9 html javascript browser events
我正在使用JavaScript在卸载该页面时跟踪用户在我页面上的活动.考虑以下简化的dummie脚本来模拟我在卸载时所做的事情:
$(window).unload(function() {
$.get("http://www.google.de/images/srpr/logo3w.png");
});
Run Code Online (Sandbox Code Playgroud)
在这种情况下,图像URL用作跟踪数据的持有者.
在关闭浏览器窗口时,某些浏览器(例如Firefox 3)会请求该图像,而其他浏览器(例如Firefox 6)中不会加载该图像.
可能不是它应该做的方式; 无论如何,只要我能说出卸载事件的可靠性,我就会坚持下去.
有这方面的经验吗?
我有一些经验,我会建议一个稍微不同的方法,如下所示:
$(window).unload(function() {
new Image().src = "http://www.google.de/images/srpr/logo3w.png?timestamp="
+ new Date().getTime();
});
Run Code Online (Sandbox Code Playgroud)
挑战在于,如果要在卸载时进行AJAX调用,则应使用同步模式.使用普通的异步模式,它可能根本不会成功(例如在Chrome中).
但在这种情况下,使用图像的技巧同样可靠,因为通信只是一种方式.这适用于GET,但如果你需要POST一些东西,那么sync-mode是唯一的选择.