2017-04-07 115 views
0

我想将XMPP聊天整合到我的网站中。试图创建一个裸骨聊天,它应该自动登录并自动打开一个聊天窗口。它只是可以自动登录,但之后什么都不做。如何在XMPP聊天客户端自动打开聊天匡威.js

整个代码如下。为什么它不会自动打开聊天窗口?

<body> 


<script> 
    converse.initialize({ 
     show_controlbox_by_default: true, 
     allow_muc: false, 
     show_controlbox_by_default: true, 
     auto_login: true, 
     authentication: 'login', 
     jid: '[email protected]', 
     password: 'kelvin', 
     websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket' 
    }); 

    console.log("000"); 

    converse.plugins.add('myplugin', { 
     initialize: function() { 
      this._converse.chats.open('[email protected]') 

      var msg = converse.env.$msg({ 
       from: '[email protected]', 
       to:'[email protected]', 
       type:'chat' 
      }); 
      this._converse.send(msg); 
     } 
    }); 

    </script> 

    </body> 

回答

0

从3.0.0及以后版本,插件需要被列入白名单(通过whitelisted_plugins设置),否则他们不会被初始化。

所以你只需要添加whitelisted_plugins: ['myplugin']到你的converse.initialize电话。

除此之外,您还需要在致电converse.initialize之前注册该插件。

+0

我添加了whitelisted_plugins,如下所示,但它仍然不起作用。任何帮助?谢谢。 converse.initialize({ whitelisted_plugins:[ '为myplugin'], show_controlbox_by_default:真, allow_muc:假, AUTO_LOGIN:真, 认证: '登录', JID: '[email protected]' , password:'kelvin', websocket_url:'wss://xmpp.mydomainhere.com:5280/websocket' }); – Dopinder

+0

您需要在调用converse.initialize之前注册该插件。我更新了我的答案。 –

+0

我已经切换了两个代码块。现在插件块在converse.initialize块之前。但它仍然不起作用。 – Dopinder