【问题标题】:Cannot get converse.js to work in embedded mode with local server无法让 converse.js 在本地服务器的嵌入式模式下工作
【发布时间】:2019-01-09 11:20:20
【问题描述】:

我无法让 converse.js Web 客户端在嵌入式模式下工作。它在全屏或覆盖模式下都可以正常工作(只需更改view_mode 属性)。

下面的代码在全屏模式下运行良好,但只要我将view_mode 设置为“嵌入”,就会呈现空白屏幕。检查问题时出现的确切错误是以下错误。

错误:插件“converse-muc-views”试图覆盖 ControlBoxView 但它没有找到。 converse.js:33145:17

错误:插件“converse-fullscreen”试图覆盖 ControlBoxView 但没有找到。

这是在 conversejs 最新版本 (4.0.6) 上

<!doctype html>
<html lang="en">
  <head>
    <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
    <meta content="utf-8" http-equiv="encoding">
    <link rel="stylesheet" type="text/css" media="screen" href="conversejs/converse.css" />
    <script src="conversejs/converse.js" charset="utf-8"></script>

    <style>
      .converse-container {
        height: 55vh;
      }
    </style>
    <script>
      converse.initialize({
          allow_otr: true,
          auto_list_rooms: false,
          auto_subscribe: false,
          bosh_service_url: 'http://localhost:7070/http-bind',
          debug: true,
          hide_muc_server: false,
          prebind: false,
          show_controlbox_by_default: true,
          xhr_user_search: false,
          view_mode: 'embedded',
      });
    </script>
  </head>
  <body>
    <div class="converse-container">
      <div id="conversejs"></div>
    </div>
  </body>
</html>

我没有得到嵌入式查看器,而是得到一个空白页面。

【问题讨论】:

    标签: javascript converse.js


    【解决方案1】:

    我在 4.1.2 中遇到了同样的问题,发现使用额外的 initialize() 参数:

    blacklisted_plugins: ['converse-muc-views', 'converse-fullscreen'],
    

    将避免错误。 converse-fullscreen 可能不需要嵌入,尽管为什么 converse-muc-views 有一个我认为的问题是因为我已经设置了

    allow_muc: false
    

    因为我只在我的应用程序中使用与单个用户的直接私人通信。您似乎正在使用 muc(多用户对话),因此看起来存在或曾经存在问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 2013-10-19
      • 2012-06-26
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多