简体   繁体   English

“beforeunload”事件不会在谷歌浏览器上触发弹出窗口

[英]"beforeunload" event not firing on Google Chrome for popup window

I need to run some code when a second window is closed by the user:当用户关闭第二个窗口时,我需要运行一些代码:

var win = window.open("chat-box", null, "height=600,width=1300,status=yes,toolbar=no,menubar=no,location=no");  

if(win != null)
{
    win.addEventListener("beforeunload", function()
    {
        console.log("It closed");
    });
}

It works in firefox, but not Google Chrome.它适用于 Firefox,但不适用于 Google Chrome。

Any ideas on why or how to fix it?关于为什么或如何解决它的任何想法?

An approach I've used in the past is an interval timer to check for win.closed我过去使用的一种方法是使用间隔计时器来检查win.closed

if(win){
   let timer = setInterval(()=>{
       if(win.closed){
          console.log('It closed')
          clearInterval(timer)
       }
   }, 1000);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM