ondemand javascript调用窗口卸载使用jquery

我在下面的代码中尝试过“unload”和“beforeunload”绑定,但是浏览器都没有发送请求:

$(window).bind('unload', function(){ $.ajax({cache: false, dataType: "script", url: "test.php" }); }); 

有什么建议吗?

浏览器不等待这段代码完成…它运行得很好:)添加一个alert('hi')看它运行。

你看到的问题是unload问题的典型问题,浏览器在你的情况下被激活之前导航很好……它应该真的,没有你运行的代码必须在我被允许之前完成转到下一页。 这就是unload行为的方式。 您可以使呼叫同步以将用户保留在那里,但请要这样做。

在窗口上创建unload事件主要是为了清理你需要的DOM中的任何东西,更多 – 所以当垃圾收集不像现在那样好(并且仍然不在IE中)…它不是我真的设计了AJAX或度量标准跟踪。

只需将选项async设置为false即可。

 $(window).bind('unload', function(){ $.ajax({ cache: false, async: false, dataType: "script", url: "test.php" }); });