Javascript 在激发ajax之前防止页面卸载

Javascript 在激发ajax之前防止页面卸载,javascript,ajax,browser,cross-browser,Javascript,Ajax,Browser,Cross Browser,有点重复这个问题: 基本上,在页面关闭之前,我需要发出一个网络请求。我不需要响应值。但是,简单地将其放入beforeunload处理程序中并不起作用: window.addEventListener('beforeunload', () => { // send ajax } 它成功地及时启动了,但我正在寻找一种与所有浏览器兼容的解决方案,而sendBeacon却不是。没什么好东西。有一堆相当粗糙的解决方案(其中一些在MDN文章中提到)。你唯一能做的就是使用sendBeacon,如果

有点重复这个问题:

基本上,在页面关闭之前,我需要发出一个网络请求。我不需要响应值。但是,简单地将其放入beforeunload处理程序中并不起作用:

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

它成功地及时启动了,但我正在寻找一种与所有浏览器兼容的解决方案,而sendBeacon却不是。

没什么好东西。有一堆相当粗糙的解决方案(其中一些在MDN文章中提到)。你唯一能做的就是使用sendBeacon,如果它存在的话,或者退一步使用其他方法


这里有一个快速谷歌搜索的polyfill,如果不支持sendBeacon,它会执行同步ajax请求:

没什么好东西。有一堆相当粗糙的解决方案(其中一些在MDN文章中提到)。你唯一能做的就是使用sendBeacon,如果它存在的话,或者退一步使用其他方法

下面是一个快速谷歌搜索的polyfill,如果不支持sendBeacon,它会执行同步ajax请求: