как узнать, открыто ли окно - PHP / Javascript? - PullRequest
0 голосов
/ 14 сентября 2010

Есть кнопка чата, и когда пользователи нажимают на эту кнопку чата, открывается новое окно, и оба пользователя могут общаться

, как я могу узнать, открыто ли окно чата или нет, когдакто-нибудь из пользователей вышел из приложения?

и выдает сообщение "окно чата все еще открыто" и закрывает окно чата ...

название окна чатаchat<?=$user->username?> ...

Я отслеживаю, когда пользователь выходит из системы, и другие пытаются отправить сообщение .... тогда я даю ему сообщение и закрываю это окно

код для открытия окна

win = window.open('../chat/index.php?user=<?=$uname->username?>','chatApp<?=$uname->username?>','width=400, height=500');

мне нужно закрыть окно чата, когда пользователи нажимают на выход из системы?этот код правильный?

echo "<script>win.close();</script>";

1 Ответ

0 голосов
/ 14 сентября 2010

До тех пор, пока окно, открывающее всплывающие окна, не будет сброшено [закрыто, обновлено, отправлено назад] и убито объект окна, вы можете сделать что-то вроде следующего, чтобы сохранить созданные окна.

  var winPop = {}

  function openPop( username, url ){
      if(winPop[username]){
          closePop(username);
      }
      winPop[username] = window.open( url );
  }

  function closePop( username ){
      if(winPop[username] && !winPop[username].closed){
          winPop[username].close();
          winPop[username] = null;
      }
  }

  function killAllPop(){
      for(var win in winPop){
          closePop(win);
      }
  }

Если открывающееся окно теряет объект окна, вам не везет, когда родитель закрывает его, если вы не выполните очистку onunload или onbeforeunload.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...