Javascript只在关闭事件时打开一次弹出窗口

时间:2014-05-26 04:23:14

标签: javascript popup

我的代码如下所示:

  

如果弹出窗口关闭,警告框将显示

但我希望弹出窗口只打开一次。我的意思是如果弹出窗口已经存在,它将不会创建另一个弹出窗口,否则它将只关注现有窗口。

function PopupCenter() {
    var win = window.open('https://www.facebook.com/sharer/sharer.php?u=<?php echo $bloglink; ?>', 'googl_e','width=800,height=400,status=0,toolbar=0,top=20,left=20');   
        var timer = setInterval(function() {   
                if(win.closed) {  
                clearInterval(timer);  
                alert("The video is ready to play.");
                $(".bg-lock").fadeOut();
                }
        }, 1000);
    }

1 个答案:

答案 0 :(得分:0)

我认为全局变量确实是你需要的东西
更新:我在全局变量和窗口onbeforeunload事件方面遇到了一些问题。因此,我使用jquery进行全局变换并使用计时器进行检查

我假设你使用jquery(因为我看到了fadeOut方法),所以我使用$ .myWin作为全局变量。

function PopupCenter() {
   if ($.myWin == undefined) {
       $.myWin = window.open('https://google.com');
       var timer = setInterval(function() {
            if (($.myWin != undefined) && ($.myWin.closed)) {
               clearInterval(timer);  
               alert("The video is ready to play.");
               $(".bg-lock").fadeOut();
            }
          }, 1000);
   }
}