Bots 自动将消息发送到Bot框架中的WebChat窗口

Bots 自动将消息发送到Bot框架中的WebChat窗口,bots,botframework,direct-line-botframework,Bots,Botframework,Direct Line Botframework,我正在使用MicrosoftBot框架,我创建了两个机器人 我正在尝试构建一个简单的HTML页面,它将并排显示两个webchat窗口,每个窗口对应两个机器人中的一个 这个想法是在页面中有一个输入框,当有人输入时,文本会同时发送到两个WebChat中 然而,由于webchat基本上是iframe,除非我让webchat iframe向父帧公开一些方法,否则我就无能为力。这是预期的浏览器行为 所以我的问题是:有没有办法从父框架控制webchat Iframe,或者bot框架的webchats无法支持

我正在使用MicrosoftBot框架,我创建了两个机器人

我正在尝试构建一个简单的HTML页面,它将并排显示两个webchat窗口,每个窗口对应两个机器人中的一个

这个想法是在页面中有一个输入框,当有人输入时,文本会同时发送到两个WebChat中

然而,由于webchat基本上是iframe,除非我让webchat iframe向父帧公开一些方法,否则我就无能为力。这是预期的浏览器行为

所以我的问题是:有没有办法从父框架控制webchat Iframe,或者bot框架的webchats无法支持这一点?

从您不需要将webchat用作Iframe开始。您可以实现非Iframe webchat,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
  </head>
  <body>
    <div id="bot"/>
    <script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
    <script>
      BotChat.App({
        directLine: { secret: direct_line_secret },
        user: { id: 'userid' },
        bot: { id: 'botid' },
        resize: 'detect'
      }, document.getElementById("bot"));
    </script>
  </body>
</html>

BotChat.App({
directLine:{secret:direct\u line\u secret},
用户:{id:'userid'},
bot:{id:'botid'},
调整大小:“检测”
},document.getElementById(“bot”);
通过这种方式,您将可以访问Javascript和CSS,从而可以自定义它以满足您的需要。这里有一个很好的概述页面

首先,您不需要将webchat用作Iframe。您可以实现非Iframe webchat,如下所示:

<!DOCTYPE html>
<html>
  <head>
    <link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
  </head>
  <body>
    <div id="bot"/>
    <script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
    <script>
      BotChat.App({
        directLine: { secret: direct_line_secret },
        user: { id: 'userid' },
        bot: { id: 'botid' },
        resize: 'detect'
      }, document.getElementById("bot"));
    </script>
  </body>
</html>

BotChat.App({
directLine:{secret:direct\u line\u secret},
用户:{id:'userid'},
bot:{id:'botid'},
调整大小:“检测”
},document.getElementById(“bot”);

通过这种方式,您将可以访问Javascript和CSS,从而可以自定义它以满足您的需要。这里有一个很好的概览页面

谢谢。这很有用,但我仍然找不到通过JavaScript控制聊天的方法。简单地在聊天室的消息窗口中输入一个值并模仿点击发送按钮是不起作用的。如果您知道启用“发送”按钮的方法,以便我可以在其上模拟
单击
事件,请告诉我。我一直在探索。这不适用于IE浏览器,任何人都可以在IE中调试它,并让我知道它是否适用于他们。谢谢。这很有用,但我仍然找不到通过JavaScript控制聊天的方法。简单地在聊天室的消息窗口中输入一个值并模仿点击发送按钮是不起作用的。如果您知道启用“发送”按钮的方法,以便我可以在其上模拟
单击
事件,请告诉我。我一直在探索。这不适用于IE浏览器,有人可以在IE中调试它,并让我知道它是否适用于他们吗