如何在 converse.js 中使用按钮单击事件在全屏和覆盖聊天之间切换
How to change between fullscreen and overlayed chat with button click event in converse.js
我试图在不使用 HTML 重定向的情况下放置一个按钮将覆盖视图更改为全屏,以及另一个从覆盖视图更改为全屏。
尝试使用 converse.api.settings.update
但它不起作用,看起来它没有呈现 view_mode
变量已更新的页面。
尝试使用函数中的下一个代码,甚至添加了 this.render()
,但不起作用:
converse.initialize({
view_mode: 'fullscreen'
});
_converse.api.settings.update({
view_mode: 'fullscreen'
});
查看相关 API 文档。
_converse.api.settings.update 不用于更改配置设置。它“允许指定新的配置设置,或指定现有配置设置的新默认值。”
所以您所做的只是设置一个新的默认值,这与在运行时更改值不同。
所有配置设置都在 _converse
对象上设置,因此要更改一个,您只需分配一个新值即可,例如 _converse.view_mode = 'fullscreen';
.
但这不会立即生效,因为 Converse 尚不支持即时更改 view_mode
。
感谢您的回答,但我想 "on the fly"。
最后我实现了它 "on the fly" 但是做了一些技巧并且可能是错误的东西,但我所做的是删除 DOM 中所有 类 指的是 'converse-overlayed' 和稍后,再次初始化插件:
converse.initialize({
... view_mode: 'fullscreen'
});
反之亦然
我试图在不使用 HTML 重定向的情况下放置一个按钮将覆盖视图更改为全屏,以及另一个从覆盖视图更改为全屏。
尝试使用 converse.api.settings.update
但它不起作用,看起来它没有呈现 view_mode
变量已更新的页面。
尝试使用函数中的下一个代码,甚至添加了 this.render()
,但不起作用:
converse.initialize({
view_mode: 'fullscreen'
});
_converse.api.settings.update({
view_mode: 'fullscreen'
});
查看相关 API 文档。
_converse.api.settings.update 不用于更改配置设置。它“允许指定新的配置设置,或指定现有配置设置的新默认值。”
所以您所做的只是设置一个新的默认值,这与在运行时更改值不同。
所有配置设置都在 _converse
对象上设置,因此要更改一个,您只需分配一个新值即可,例如 _converse.view_mode = 'fullscreen';
.
但这不会立即生效,因为 Converse 尚不支持即时更改 view_mode
。
感谢您的回答,但我想 "on the fly"。
最后我实现了它 "on the fly" 但是做了一些技巧并且可能是错误的东西,但我所做的是删除 DOM 中所有 类 指的是 'converse-overlayed' 和稍后,再次初始化插件:
converse.initialize({
... view_mode: 'fullscreen'
});
反之亦然