Php 在允许用户导航到其他页面的同时,如何保持与strophe的聊天会话处于打开状态?

Php 在允许用户导航到其他页面的同时,如何保持与strophe的聊天会话处于打开状态?,php,javascript,jquery,html,strophe,Php,Javascript,Jquery,Html,Strophe,如果这个问题看起来很模糊,我很抱歉,但这是我的问题 在我的网页一侧,我有一个聊天脚本,每次调用该页面时,它都会执行以下功能 连接到我的BOSH服务器 根据登录的用户提取数据 在侧边栏上显示用户的花名册 我试图通过保持聊天窗口侧边打开并使用框架概念加载其他数据来节省带宽(同时防止用户每次移动页面时登录/注销),这与Facebook的做法类似 我知道 history.pushState({},"New Title Goes Here","http://facebook.com/Something")

如果这个问题看起来很模糊,我很抱歉,但这是我的问题

在我的网页一侧,我有一个聊天脚本,每次调用该页面时,它都会执行以下功能

  • 连接到我的BOSH服务器
  • 根据登录的用户提取数据
  • 在侧边栏上显示用户的花名册
  • 我试图通过保持聊天窗口侧边打开并使用框架概念加载其他数据来节省带宽(同时防止用户每次移动页面时登录/注销),这与Facebook的做法类似

    我知道

    history.pushState({},"New Title Goes Here","http://facebook.com/Something");
    
    但我知道肯定还有其他原因。只是有点不知道从哪里开始找。我知道AJAX是否会在其中扮演重要角色,但我不喜欢一直只依赖javascript


    非常感谢您的帮助。

    有一个内容div和一个聊天div。我的网站使用AJAX只是为了美观,所以我有一个导航div和一个内容div,我用jQuery加载东西。看看我的网站:还有这个JSFIDLE


    由于某些原因,JSFIDLE不喜欢AJAX,但我的网站使用相同的javascript,因此我可以向您保证它是准确的。

    如果这有点晚,很抱歉,但您可以使用它,这样您的BOSH会话就不会在页面重新加载之间丢失

    您需要做的是,首先连接并验证XMPP服务器,然后将JID、RID和SID保存在页面刷新时不会丢失的位置。例如,在会话或cookie中

    var conn = new Strophe.Connection('your_bosh_url');
    conn.attach(your_jid, your_sid, your_rid, function(status){
      if(status === Strophe.Status.ATTACHED){
      *and so on ...*