有点重复此问题:可靠地完成页面上的Ajax请求
基本上,我需要在页面关闭之前,请解散网络请求。我不需要响应值。但是,仅将其放入我的nunload处理程序中不起作用:
window.addEventListener('beforeunload', () => {
// send ajax
}
它与sendbeacon及时成功发射,但我正在寻找与所有浏览器兼容的解决方案,而sendbeacon却不是。
没什么好。那里有很多相当黑的解决方案(MDN SendBeacon文章中提到了其中一些(。您唯一可以做的就是使用SendBeacon(如果存在(,则可以使用SendBeacon进行某种替代方案。
这是一个快速谷歌搜索的polyfill,如果不支持SendBeacon,则执行同步AJAX请求:https://github.com/miguelmota/navigator.sendbeacon