我是一个初学者,第一次使用插件。我正在为我的网站聊天应用程序的converse.js插件工作。因为我为用户提供了一个登录,所以我不希望他们在converse.js聊天中重新登录。有人能指点我到底需要做什么吗?我试图隐藏div,但只有其中的一部分被隐藏(因为我提供的代码只隐藏了登录和注册选项卡)。我需要访问插件的内部元素,这样每当页面被加载时,它就会直接连接。我用的是开火枪。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Converse.js</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" media="screen" href="css/converse.min.css">
<script src="js/converse.min.js"></script>
<script>
function showhide() {
var div = document.getElementById("controlbox-tabs");
if (div.style.display !== "none") {
div.style.display = "none";
}
}
</script>
</head>
<body onload="myFunction()">
<button id="button" onclick="showhide()">Click Me</button>
<button onclick="myFunction()">Delete uls</button>
</body>
<script>
require(['converse'], function(converse) {
converse.initialize({
auto_list_rooms: false,
auto_subscribe: false,
prebind: false,
keepalive: true,
bosh_service_url: 'https://conversejs.org/http-bind/', // Please use this connection manager only for testing purposes
hide_muc_server: false,
i18n: locales.en, // Refer to ./locale/locales.js to see which locales are supported
prebind: false,
show_controlbox_by_default: true,
roster_groups: true,
allow_contact_requests: false
});
});
</script>
<script>
function myFunction() {
var list = document.getElementById("controlbox-tabs");
list.removeChild(list.childNodes[1]);
}
</script>
</html>
发布于 2015-09-05 22:47:58
有选择地隐藏div并不是解决问题的正确方法。
将用户登录到网站并进行聊天的真正的解决方案是
在您的服务器上设置一个BOSH会话,然后converse.js可以在页面加载后连接到该会话。
请参阅Converse.js文档中的单个会话支持:
https://stackoverflow.com/questions/28274622
复制相似问题