在选项卡/窗口关闭之前发出HTTP请求的可靠方法

时间:2019-10-04 15:06:50

标签: javascript

我知道有关此问题的答案,但其中不包括某些极端情况。我必须确保在用户离开页面之前发出HTTP请求。用户可以通过以下两种方式进行此操作:

  • 关闭标签页
  • 点击外部链接
  • 关闭浏览器
  • 关闭计算机(出于任何原因,断电等)

有任何可靠的方法吗?有什么解决方法吗?不需要使用javascript即可,但可以使用任何巧妙/ hacky的方式来实现此目的?我想我可以间隔一定的时间来发出请求,以至少捕获一些数据,但是还有其他想法吗?

1 个答案:

答案 0 :(得分:0)

关机可能不会起作用。但是您可以尝试:

window.addEventListener("beforeunload", function (e) {
  (e || window.event).returnValue = 0; //Gecko + IE
  return 0;                            //Webkit, Safari, Chrome
});

如果您有一个后端,那么也许您可以打开一个websocket并在断开连接时执行http请求。