用户可以通过各种方法离开网页,包括关闭窗口或导航通过另一个 URL 离开。确定用户离开页面的时刻并触发相应操作可能具有挑战性。
2024 年更新:
可见性更改事件:
document.addEventListener('visibilitychange', function() { if (document.visibilityState === "hidden") { // Trigger AJAX request or run script } });
Beacon API:
var url = "https://example.com/foo"; var data = "bar"; navigator.sendBeacon(url, data);
Beacon API 旨在即使用户离开页面。建议利用visibilitychange事件来检测用户何时退出页面,并在此时触发Beacon请求。
Lifecycle.js 库(适用于旧版浏览器):
为了与旧版浏览器兼容,请考虑使用lifecycle.js库来管理页面
以上是如何在用户关闭浏览器窗口之前可靠地发送 AJAX 请求并执行脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!