我从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();
}
答案 0 :(得分:0)
你需要回发
回发是重新加载页面的过程,因此如果您希望页面在回发后关闭,那么您需要将window.close()javascript设置为在该回发期间使用浏览器的onload事件运行,< / p>
通常使用ClientScript.RegisterStartupScript()
函数完成。
OR
您可以使用 window.opener See Reference
<body onclose="window.opener.somefunction('value');window.close();">
</body>