【问题标题】:Upon Closing pop-up no event occurs关闭弹出窗口后不会发生任何事件
【发布时间】:2013-06-30 05:49:48
【问题描述】:

我从 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();
}

【问题讨论】:

    标签: javascript jquery html css chat


    【解决方案1】:

    你需要回发

    回发是重新加载页面的过程,因此如果您希望页面在回发后关闭,那么您需要设置您的 window.close() javascript 在回发期间与浏览器的 onload 事件一起运行,

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

    您可以使用 window.opener See Reference

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

    【讨论】:

    • 感谢您的回复。但我实际上不明白它对我有什么帮助。你能帮我写一份内容更丰富的文件吗。这真的很有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2010-10-10
    相关资源
    最近更新 更多