关闭弹出窗口时不会发生任何事件

时间:2013-06-30 05:49:48

标签: javascript jquery html css chat

我从HTML页面打开一个弹出窗口,弹出窗口与聊天服务器连接,发送可用消息,当弹出窗口关闭时它应该发送不可用的消息,

问题是,当我关闭(浏览器按钮)弹出窗口时,不会发送不可用的消息,

我试过了,    $(window).bind("beforeunload",function(event) { var pres = $pres({from: connection.jid, to: recipient}).c("show").t("unavailable"); connection.send(pres); connection.disconnect(); });

也尝试了,

var timer = setInterval(function() {  
clearInterval(timer);   
if(window.closed) {  

    var pres = $pres({from: connection.jid, to: recipient}).c("show").t("unavailable");
    connection.send(pres);
    connection.disconnect();  
}  
}, 500);

但是我有一个自己的关闭按钮,它有一个功能,它有效,

var onCloseChatWindow = function(){
var pres = $pres({from: connection.jid, to: recipient}).c("show").t("unavailable");
connection.send(pres);
connection.disconnect();
window.close();
}

1 个答案:

答案 0 :(得分:0)

你需要回发

回发是重新加载页面的过程,因此如果您希望页面在回发后关闭,那么您需要将window.close()javascript设置为在该回发期间使用浏览器的onload事件运行,< / p>

通常使用ClientScript.RegisterStartupScript()函数完成。

OR

您可以使用 window.opener See Reference

<body onclose="window.opener.somefunction('value');window.close();">

</body>