Javascript - 如果弹出(按名称)打开?

时间:2012-02-29 01:03:01

标签: javascript popup

如何检查弹出窗口是否已严格按原始弹出窗口的名称打开,而不是URL等。

弹出窗口是通过window.open()打开的。

1 个答案:

答案 0 :(得分:3)

将手柄放在窗户上:

var popup = window.open( URL, name, features )

所以稍后你可以通过使用它的“关闭”属性来检查它是否已关闭。

if (popup.closed) {
    // closed
}
else {
    // still open
}

您可以在此处看到它:http://www.javascripter.net/faq/windowclosed.htm

修改

你应该能够做到Cheery所说的,但是如果你想要更多的细节,我测试了它,并且它有效:

<html>
  <head>
    <script type="text/javascript">
      var popup;
      function openPopup() {
        popup = window.open("http://www.stackoverflow.com", "so", "location=1,status=1,scrollbars=1,width=300,height=300");
      }
    </script>
  </head>

  <body>

    <button onclick="openPopup()">open popup</button>
    <button onclick="checkIfPopupIsOpen()">check for popup</button>

    <script type="text/javascript">
      function checkIfPopupIsOpen() {
        if (popup.closed) {
          alert("it's closed");
        }
        else {
          alert("it's still open");
        }
      }
    </script>

  </body>
</html>