Javascript 如何在XMPP聊天客户端Converse.js中自动打开聊天
我想将XMPP聊天集成到我的网站中。试图创建一个简单的聊天,它应该自动登录并自动打开一个聊天窗口。它只是可以自动登录,但之后什么也不做Javascript 如何在XMPP聊天客户端Converse.js中自动打开聊天,javascript,xmpp,chat,converse.js,Javascript,Xmpp,Chat,Converse.js,我想将XMPP聊天集成到我的网站中。试图创建一个简单的聊天,它应该自动登录并自动打开一个聊天窗口。它只是可以自动登录,但之后什么也不做 <body> <script> converse.initialize({ show_controlbox_by_default: true, allow_muc: false, show_controlbox_by_default: true, auto_log
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>
整个代码如下所示。为什么它不自动打开聊天窗口
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>
逆向初始化({
默认情况下显示控制框:true,
允许_muc:false,
默认情况下显示控制框:true,
自动登录:true,
身份验证:“登录”,
吉德:'kelvin@xmpp.mydomainhere.com',
密码:“开尔文”,
websocket_url:'wss://xmpp.mydomainhere.com:5280/websocket'
});
控制台日志(“000”);
add('myplugin'{
初始化:函数(){
这个._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg=逆向环境$msg({
发件人:'kelvin@xmpp.mydomainhere.com',
致:'jacky@xmpp.mydomainhere.com',
类型:'chat'
});
此._逆向发送(msg);
}
});
从3.0.0版及更高版本开始,插件需要被列入白名单(通过设置),否则它们不会被初始化
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>
因此,您只需在converse.initialize
调用中添加白名单插件:['myplugin']
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>
除此之外,您还需要在调用
converse.initialize
之前注册插件。我添加了白名单中的插件,如下所示,但它仍然不起作用。有什么帮助吗?谢谢初始化({whitelisted_plugins:['myplugin'],按默认值显示_controlbox_:true,允许_muc:false,自动登录:true,身份验证:'login',jid:'kelvin@xmpp.mydomainhere.com,密码:'kelvin',websocket_url:'wss://xmpp.mydomainhere.com:5280/websocket' });在调用converse.initialize之前,您需要注册插件。我更新了我的答案。我已经切换了两个代码块。现在,插件块位于converse.initialize块之前。但它仍然不起作用。
<body>
<script>
converse.initialize({
show_controlbox_by_default: true,
allow_muc: false,
show_controlbox_by_default: true,
auto_login: true,
authentication: 'login',
jid: 'kelvin@xmpp.mydomainhere.com',
password: 'kelvin',
websocket_url: 'wss://xmpp.mydomainhere.com:5280/websocket'
});
console.log("000");
converse.plugins.add('myplugin', {
initialize: function () {
this._converse.chats.open('jacky@xmpp.mydomainhere.com')
var msg = converse.env.$msg({
from: 'kelvin@xmpp.mydomainhere.com',
to:'jacky@xmpp.mydomainhere.com',
type:'chat'
});
this._converse.send(msg);
}
});
</script>
</body>