有一个聊天按钮,当用户点击该聊天按钮时,将打开一个新窗口 并且两个用户都可以聊天
如果用户退出应用程序,我怎么知道聊天窗口是否仍然打开?
并发出消息,“聊天窗口仍然打开”并关闭聊天窗口...
聊天窗口的名称: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 :(得分: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上进行清理,否则你关闭它的父项是运气不好。