Javascript - Если всплывающее окно (по имени) открыто? - PullRequest
0 голосов
/ 29 февраля 2012

Как проверить, открывается ли всплывающее окно строго по имени исходного всплывающего окна, а не по URL-адресу и т. Д.

Всплывающее окно открывается с помощью window.open ().

1 Ответ

3 голосов
/ 29 февраля 2012

Держите ручку к окну:

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

Так что позже вы можете проверить, закрыто ли оно, используя его свойство "closed".

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

Вы можете увидеть это здесь: http://www.javascripter.net/faq/windowclosed.htm

EDIT

Вы должны быть в состоянии сделать именно то, что сказал 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...