Converse.js рендерит в контейнер

Можно ли настроить Converse.js для рендеринга его блоков в пользовательские div контейнеры вместо добавления их в тело страницы?

1 ответ

Решение

Да, вы можете сделать это, написав плагин 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;
            }
        },
    }

ОБНОВЛЕНИЕ: Начиная с последних версий converse.js, метод для переопределения вместо _ensureElement, а не insertIntoPage ,

Другие вопросы по тегам