javascript - 对 onbeforeunload 事件的 Ajax 调用不起作用(仅限 Firefox)
问题描述
当用户离开我的页面时,我需要进行 Ajax 调用。
我不需要等待通话结束,我只需要友好地通知我的服务器“嘿,用户 XXX 正在离开页面”,而不通知客户端。
这是我到目前为止所做的:
window.onbeforeunload = function () {
$.ajax({
type: "POST",
url: myURL,
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ xxx: xxx, yyy: yyy })
});
}
这与 Chrome 和 Edge 完美配合,但在 Firefox 上不会引发此事件。
到目前为止我所做的:
- 我尝试了这个SO 答案,因为作者声称它有效并且得分很高,但是我的 ajax 调用再次没有被触发。
- 添加
async: false
没有成功 - 也尝试使用
beforeunload
而不是onbeforeunload
谁能解释我如何在用户离开页面时触发我的 Ajax 调用,无论他使用 Chrome、Edge 还是 Firefox?提前致谢 ?
解决方案
推荐阅读
- c# - 将 docx 转换为 byte[] 并使用 File.WriteAllBytes 将其保存到磁盘
- xcode - 我的一些图集动画被裁剪了,只显示了一半
- ios - SwiftUI - 具有透明背景的按钮
- java - 按子类型搜索失败
- amazon-web-services - Github 操作 - 传递秘密变量以呈现 ECS 任务定义操作
- python - 是否有计算不同类型概率密度函数积分的捷径?
- sql - 对于用户和联系人列表,实体关系图会是什么样子?
- spring - spring jpa 查询返回 404 没有消息
- java - Mysql 查询在 java 中返回未知列。使用智能
- haskell - 编码单子变换器的选择