Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在没有用户交互的情况下捕获选项卡关闭事件_Javascript_Jquery_Browser_Onbeforeunload - Fatal编程技术网

Javascript 如何在没有用户交互的情况下捕获选项卡关闭事件

Javascript 如何在没有用户交互的情况下捕获选项卡关闭事件,javascript,jquery,browser,onbeforeunload,Javascript,Jquery,Browser,Onbeforeunload,基本上,我试图在页面关闭时保存一些数据,即使没有用户交互。我已尝试使用onbeforeunload侦听器,如下所示: window.onbeforeunload = function (event) { event.preventDefault(); const requestData = { parameter : 'test', step: 2 }; fetch('/send-data', { method : 'POST', headers

基本上,我试图在页面关闭时保存一些数据,即使没有用户交互。我已尝试使用onbeforeunload侦听器,如下所示:

window.onbeforeunload = function (event) {
  event.preventDefault();
  const requestData = {
    parameter : 'test',
    step: 2
  };

  fetch('/send-data', {
    method : 'POST',
    headers: new Headers({'content-type': 'application/json'}),
    body : JSON.stringify(requestData)
  })
  return undefined;
};

我本来希望,因为我没有打开对话框,所以我能够使用该事件,但它只是通过用户交互调用的。是否有方法捕获选项卡/窗口关闭时的事件(或任何其他)以发送/保存某些数据?也可以使用jquery。

在现代浏览器中使用要比使用卸载事件可靠得多。这项工作再加上visibilitychange,谢谢!在现代浏览器中使用要比使用卸载事件可靠得多这项工作再加上visibilitychange,谢谢!