首页 > 社区问答列表 >检测浏览器或标签页关闭

  检测浏览器或标签页关闭

有没有跨浏览器的JavaScript/jQuery代码可以检测浏览器或浏览器标签页是否关闭,但不是由于点击链接引起的?

P粉760675452
P粉760675452

  • P粉958986070
  • P粉958986070     2023-08-01 10:50:07 2楼

    根据MDN文档:

    由于某些原因,基于Webkit的浏览器不遵循规范中的对话框。下面的示例中有一个几乎可以跨浏览器工作的关闭示例。


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

    这个例子适用于处理所有浏览器。

    +0 添加回复

  • P粉821231319
  • P粉821231319   已被采纳   2023-08-01 00:40:43 1楼

    如果我理解正确,您想知道何时有效关闭一个标签/窗口。嗯,据我所知,在JavaScript中唯一检测到这一点的方法是使用onunload或onbeforeunload事件。

    不幸的是(或幸运的是?),当您通过链接离开一个网站或使用浏览器的返回按钮时,这些事件也会触发。所以这是我能给出的最好答案,我认为您无法在JavaScript中原生地检测到一个纯粹的关闭。如果我理解错误,请纠正我。

    +0 添加回复