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
,