我在下面的代码中尝试过"unload"和"beforeunload"绑定,但是浏览器都没有发送请求:
$(window).bind('unload', function(){
$.ajax({cache: false,
dataType: "script",
url: "test.php"
});
});
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
浏览器不等待这段代码完成......它运行得很好:)添加一个alert('hi')以查看它正在运行.
你看到的unload问题是典型的问题,浏览器在你的情况下被激活之前导航很好......而且它应该真的,在你被允许移动之前,你运行的代码不应该完成到下一页.这就是unload表现的方式.您可以使呼叫同步以将用户保留在那里,但请不要这样做.
该unload事件是在窗口上创建的,主要是为了清理你需要的DOM中剩下的任何东西,更多 - 所以当垃圾收集不像现在那样好(并且仍然不在IE中)...它不是'我真的设计了AJAX或度量标准跟踪.