【问题标题】:MS Bot Framework class names and label IDs are changedMS Bot Framework 类名称和标签 ID 已更改
【发布时间】:2020-03-11 19:44:50
【问题描述】:

我一直在我的项目中使用 MS bot 框架 - 聊天机器人,并且我对 Bot 的 UI 和其他功能进行了一些自定义。

我的大部分自定义都是基于聊天窗口的类名和标签 ID

示例

我已经自定义了聊天输入区的占位符文字如下。

document.querySelectorAll('[aria-label="Sendbox"]')[0].placeholder = "Type your question";

一时正常,今天突然报错,调试后发现标签名称由发送框变为消息输入框。因此我需要将我的代码更改为

document.querySelectorAll('[aria-label="Message input box"]')[0].placeholder = "Type your question";

同样,类名在很多地方也发生了变化,一个例子是,之前bot消息的类名包含content,现在改为ma​​rkdown

所以我想知道,

  1. 为什么要更改,
  2. 根据它将发生的变化,重要的是
  3. 如何避免这些变化

【问题讨论】:

  • 我建议查看 GitHub 上的 BotFramework-WebChat 存储库。有各种示例涵盖了机器人的不同元素的样式和品牌,以创建个性化的体验。
  • 接受/赞成一个答案服务于更大的 Stack Overflow 社区和任何有类似问题的人。如果您觉得我的回答足够,请“接受”并点赞。如果没有,请告诉我我还能提供哪些帮助!

标签: botframework customization direct-line-botframework


【解决方案1】:

不幸的是,您受制于网络聊天。类(和其他组件)可能会发生变化,网络聊天团队确实记录了这些变化,因此不应完全依赖这些变化。

示例02.branding-styling-and-customizing/b.idiosyncratic-manual-styles 演示了开发人员如何通过网络聊天的“createStyleSet”实现自定义。此方法是非标准的,并且被网络聊天团队认为不是最佳实践。但是,它适用于需要通过其默认样式选项进行网络聊天以外的特定更改的开发人员。

不建议这样做,因为在发布新版本的网络聊天时可能会发生重大更改。

对于任何依赖网络聊天及其内部工作的外部项目(例如您的项目)来说,同样如此。 (公平地说,任何依赖的应用程序都可能发生这种情况。网络聊天团队至少很乐意通知您。)

至于为什么类之类的东西会改变……很多原因。最有可能的是,有一个或多个新特性正在引入。使用可能在其他地方使用或可能包含相关样式或功能的相同类在给定实例中可能不再可行或不合适。

希望有帮助!

【讨论】:

    猜你喜欢
    • 2020-05-05
    • 2018-06-10
    • 1970-01-01
    • 2014-05-16
    • 2016-08-28
    • 2017-12-07
    • 1970-01-01
    • 2011-03-27
    • 2019-02-19
    相关资源
    最近更新 更多