javascript - jquery:卸载还是卸载之前?

标签 javascript jquery

我想在用户离开当前页面时向服务器发送一条消息,我现在正在使用 .unload 但结果不可靠,即使在其文档中也是如此:

The exact handling of the unload event has varied from version to version of browsers. For example, some versions of Firefox trigger the event when a link is followed, but not when the window is closed. In practical usage, behavior should be tested on all supported browsers, and contrasted with the proprietary beforeunload event.

我应该使用 beforeunload 事件吗?靠谱吗?

最佳答案

是的,beforeunload比较靠谱,但是一定要直接赋值(不是通过jQuery绑定(bind)),像这样:

window.onbeforeunload = function() { /* do stuff */ };

unload 事件本身并不意味着要完成的工作,只是清理对象......随着垃圾收集器变得越来越好,浏览器甚至没有理由触发 unload 事件。

另请注意,对于您的特定情况,您必须向服务器发出同步请求...否则浏览器仍不会等待 AJAX 调用完成。

关于javascript - jquery:卸载还是卸载之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4376596/

相关文章:

javascript - 当我想调用在 <body> 中声明的 JavaScript 函数时,如何在正文中调用它

javascript - 如何防止 SVG 绘图中的对象在 Chrome 中的 SVG 元素边界处被裁剪?

javascript - 如何在 YUI 中禁用 slider 刻度?

javascript - 显示幻灯片切换不起作用

javascript - 有条件地隐藏 Volusion 中的左侧导航菜单

javascript - 使用javascript根据查询字符串替换链接的自定义ID

php - jQuery:在隐藏的 Div 上实现 UI 自动完成

javascript - jQuery 动画设置后备

javascript - 使用来自 angularjs 的 header 调用 JSONP

javascript - 使用单选按钮通过 Jquery 显示内容