如何在converse.js中使用按钮单击事件在全屏聊天和重叠聊天之间进行切换

时间:2019-06-17 10:22:27

标签: javascript backbone.js converse.js

我试图放置一个按钮,以将覆盖的视图更改为全屏,将另一个视图从覆盖的视图更改为全屏,而不使用HTML重定向。

试图使用converse.api.settings.update,但是它不起作用,看起来它没有在更新view_mode变量的情况下呈现页面。

尝试过函数中的下一个代码,甚至添加了this.render(),但不起作用:

converse.initialize({
  view_mode: 'fullscreen'
});

_converse.api.settings.update({
  view_mode: 'fullscreen'
});

2 个答案:

答案 0 :(得分:0)

查看相关的API文档。

_converse.api.settings.update不用于更改配置设置。它“ 允许指定新的配置设置,或为现有的配置设置指定新的默认值。

因此,您在这里所做的只是设置一个新的默认值,这与在运行时更改该值不同。

所有配置设置都在_converse对象上进行设置,因此,要更改此设置,您只需分配一个新值即可,例如_converse.view_mode = 'fullscreen';

但是,这不会立即生效,因为Converse尚不支持即时更改view_mode

答案 1 :(得分:0)

感谢您的回答,但我想“随时随地”。

最后,我“即时”实现了这一点,但做出了一些技巧,可能还有错误的地方,但是我所做的是删除DOM中所有与“ converse-overlayed”有关的类,然后再次初始化插件:

converse.initialize({ 
... view_mode: 'fullscreen' 
});

反之亦然。