似乎是beforeunload
事件的一个问题。这在jQuery.unload上进行了描述,如
卸载事件的确切处理因浏览器版本而异。例如,某些版本的 Firefox 会在点击链接时触发该事件,但不会在窗口关闭时触发。在实际使用中,应该在所有支持的浏览器上测试行为,并与专有的 beforeunload 事件进行对比。
beforeunload
比 更可靠unload
,但一定要直接赋值(不通过jQuery绑定),像这样:
window.onbeforeunload = function() { /* do stuff */ };
unload 事件本身并不意味着要完成工作,只是清理对象......随着垃圾收集器变得越来越好,浏览器甚至没有理由触发 unload 事件。
因此,您可以尝试将代码转换为:
window.onbeforeunload = function () {
$.post("track.php", {
async: false,
ip: ip,
plansclick: plansclick,
});
};
但是,任何浏览器似乎都无法保证此功能。
jQuery.onbeforeunload 的可能修复
stackoverflow 上的
重复问题 stackoverflow 2
上的重复问题 stackoverflow 3 上的重复问题