首页 > 解决方案 > Converse.js 渲染到容器中 - 2021

问题描述

首先,对不起我的英语。

我想自定义 conversejs,所以 conversejs 将其聊天框呈现给另一个元素。

我知道 jcbrand 回答了类似的问题,make conversejs。 Converse.js 渲染到容器中

但是这个问题太久远了。答案并不能解决问题。因为代码已经更新

请重新回答这个问题

标签: javascriptxmppconverse.js

解决方案


查看https://conversejs.org/trunk/demo/embedded.html以获取手动插入 DOM 的聊天演示。

代码在这里:https ://github.com/conversejs/converse.js/blob/5dd00659368991b37446208b39e89a65fa8a48fd/demo/embedded.html#L75

您可以通过在其中放置一个元素来将 Converse 放入任何 DOM 元素converse-root中。

例如,假设你想把 Converse 放在一个带有 id 的 DOM 元素中my-element,那么你会这样做:

<div id="my-element"><converse-root></converse-root></div>.

不幸的是,Converse 8.0.1 中有一个错误导致它无法正常工作。它在这里修复: https ://github.com/conversejs/converse.js/commit/84c6a0039c78b6e1f1e6054ec9ee42586c45f600

我将很快发布包含修复的版本 9。

现在,您可以自己构建 Converse(只需make dist在 repo 的结帐中运行,然后您的文件./dist夹中有必要的文件)。


推荐阅读