2010-09-14 51 views
0

有一個聊天按鈕,當用戶對聊天按鈕點擊新窗口將被打開 和兩個用戶可以在聊天如何知道窗口是否打開 - PHP/Javascript?

我怎麼能知道,聊天窗口是否仍然打開與否,當任何的用戶從應用程序註銷?

,並給出一個消息,「聊天窗口仍然開放」,並關閉聊天窗口......聊天窗口的

名稱:chat<?=$user->username?> ...

我跟蹤時用戶註銷和其他試圖發送一個消息....然後我給他發個消息,並關閉該窗口

代碼打開了一個窗口

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

我需要關閉用戶點擊登出時的聊天窗口? 這段代碼對不對?

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

如何通過php關閉窗口? – 2010-09-14 11:03:44

+0

您無法使用Php或Php關閉窗口。您必須爲此使用JavaScript,在X時間後關閉窗口的註銷按鈕上點擊單擊監聽器。 – BGerrissen 2010-09-14 11:11:16

+0

嗯,我不明白你的意思?當用戶在註銷點擊,我取消設置會話和沖洗數據... – 2010-09-14 11:23:17

回答

0

只要在打開的彈出窗口不會被重置窗口[關閉,刷新調回]殺窗口對象,你可以這樣做以下,以保持創建的窗口。

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窗口。

+0

這不工作? – 2010-09-20 08:23:08

相關問題