防止页面卸载,直到Ajax开火为止



有点重复此问题:可靠地完成页面上的Ajax请求

基本上,我需要在页面关闭之前,请解散网络请求。我不需要响应值。但是,仅将其放入我的nunload处理程序中不起作用:

window.addEventListener('beforeunload', () => {
  // send ajax
}

它与sendbeacon及时成功发射,但我正在寻找与所有浏览器兼容的解决方案,而sendbeacon却不是。

没什么好。那里有很多相当黑的解决方案(MDN SendBeacon文章中提到了其中一些(。您唯一可以做的就是使用SendBeacon(如果存在(,则可以使用SendBeacon进行某种替代方案。

这是一个快速谷歌搜索的polyfill,如果不支持SendBeacon,则执行同步AJAX请求:https://github.com/miguelmota/navigator.sendbeacon

最新更新