在Internet Explorer上卸载事件之前的正确使用方式
Correct way to use before unload event on Internet Explorer?
当用户离开网站时,我正在后台跟踪数据。这适用于firefox和chrome。但在internet explorer上不起作用。在Internet Explorer上卸载事件之前,正确的使用方法是什么?
$(window).bind('beforeunload', function () {
$.post("track.php", {
async: false,
ip: ip,
plansclick: plansclick,
});
});
似乎是beforeunload
事件的问题。这在jQuery.unload上被描述为
卸载事件的确切处理方式因浏览器的版本而异。例如,某些版本的Firefox会在链接被关注时触发事件,但不会在窗口关闭时触发。在实际使用中,行为应该在所有支持的浏览器上进行测试,并与专有的beforeunload事件进行对比。
beforeunload
比unload
更可靠,但一定要直接分配(不通过jQuery绑定),如下所示:
window.onbeforeunload = function() { /* do stuff */ };
卸载事件本身并不是为了完成工作,只是为了清理对象。。。随着垃圾收集器变得越来越好,浏览器甚至没有理由触发卸载事件。
因此,您可以尝试将代码转换为:
window.onbeforeunload = function () {
$.post("track.php", {
async: false,
ip: ip,
plansclick: plansclick,
});
};
但是,该功能在任何浏览器中似乎都不受保护。
jQuery.obeforeunload的可能修复程序
stackoverflow上的重复问题
stackoverflow 2上的重复问题
stackoverflow 3 上的重复问题
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 在localhost Dev Box上测试JSONP请求的最佳方式
- 使用javascript存储变量的最安全方式
- 以可优化的方式使用requirejs加载模板
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- 为react组件传递道具的最佳方式
- 让Webpack管理Quirky AMD定义的最佳方式
- 在承诺链中处理早期回报的最佳方式
- 如何“;过滤器”;或者以其他方式重构该数据
- 以编程方式关闭Internet Explorer
- Internet Explorer 11 根据开发人员工具是否打开而以不同的方式处理 jQuery
- 在Internet Explorer上卸载事件之前的正确使用方式
- javascript onclick事件在internet explorer中以编程方式调用时未冒泡<=8.
- Internet Explorer如何以不同的方式呈现同一源
- internet explorer中的这种图片对齐方式发生了什么?(和鸡蛋)
- Internet Explorer:如何以编程方式刷新html布局