Converse.js 渲染到容器中

Lev*_*Gal 5 javascript chat xmpp openfire converse.js

是否可以配置 Converse.js 将其框渲染到自定义div容器中,而不是将它们添加到页面正文中?

JC *_*and 2

是的,您可以通过编写一个converse.js 插件来实现此目的,在其中重写 的insertIntoPage方法ChatBoxView

请参阅我上面链接的插件文档。简而言之,它看起来像这样:

// The following line registers your plugin.
converse_api.plugins.add('myplugin', {

    overrides: {
        // If you want to override some function or a Backbone model or
        // view defined inside converse, then you do that under this
        // "overrides" namespace.    
        ChatBoxView: {
            insertIntoPage: function (type, status_message, jid) {
                // XXX Your custom code comes here.
                // The standard code looks as follows:
                this.$el.insertAfter(converse.chatboxviews.get("controlbox).$el);
                return this;
            }
        },
    }
Run Code Online (Sandbox Code Playgroud)

更新:自从 converse.js 的最新版本以来,要重写的方法是_ensureElement而不是insertIntoPage