2012-11-24 116 views
2

我正在使用下面的JavaScript來打開另一個窗口,我想檢查該窗口是否實際打開,但然後我希望它調用一個「暫停()」如果窗口未打開,請使用此功能。即使經過3天的研究,我也不知道如何做到這一點,任何人都可以用這個指導我嗎?檢查窗口是否打開,如果不是調用另一個javascript函數

的JavaScript來打開的窗口:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.js"></script> 
    <script type="text/javascript"> 
     var windowSizeArray = ["width=300,height=300", 
           "width=200,height=400,scrollbars=yes"]; 

     $(document).ready(function() { 
      $('#newWindow').click(); 
      window.open($('#newWindow').attr('href'), 'window name', 'window settings') 
      $('.newWindow').click(function (event) { 

       var url = $(this).attr("href"); 
       var windowName = "popUp"; //$(this).attr("name"); 
       var windowSize = windowSizeArray[$(this).attr("rel")]; 

       window.open(url, windowName, windowSize); 

       event.preventDefault(); 

      }); 
     }); 


    </script> 

如果該窗口未打開,我希望它叫暫停功能:

<a href="javascript:void(0);" onclick="pause();"><img name="b1" src="system/modules/surf/stop.png" border="0" alt="Pause" title="Pause" style="position:absolute;top:28px;margin-left:5px"></a> 
+0

什麼,你希望你的「暫停」功能,如果新窗口已關閉此屬性爲true做? – Pointy

+0

我的暫停功能已經設置好了,如果窗口沒有打開,我只需要一些東西來調用它。 – CustomNet

+0

我很困惑爲什麼你有兩個'window.open'調用。 –

回答

1

window.open()返回的句柄到新創建的窗口,其中有一個closed屬性的功能。

var popuphandle=window.open(...); 
alert(popuphandle.closed); 

如果你需要不斷監測窗口的狀態,使用window.setInterval()

window.setInterval(function() 
{ 
    if (popuphandle.closed) pause(); 
}, 1000); 
+0

謝謝,它聽起來像它的作品,但我真的很新的JavaScript,我怎麼會將此添加到我當前的代碼? – CustomNet

+0

對不起,我不明白你的代碼。 –

+0

是否有任何選項指向已經打開的窗口? – ranjenanil

相關問題