如何将chabot作为小部件嵌入到另一个网站中并打开它?

问题描述 投票:0回答:2

我使用 Microsoft Botframework 开发了一个聊天机器人。这个特定的 React 项目位于一个存储库中。还有另一个使用 Angular 开发的页面存储库,它需要有一个浮动按钮或小部件来打开该聊天机器人。我该如何实现这个目标? This 是一个与我想要实现的示例类似的示例,但它在一个存储库中具有两个代码。

reactjs botframework chatbot direct-line-botframework web-chat
2个回答
0
投票

我假设“不同的存储库”是指您想要分别托管父页面和聊天机器人 UI。

您可以使用 iframe 将聊天机器人 UI 嵌入到现有页面中。这样,您的聊天机器人 UI 就可以成为一个独立的小部件,可以与托管 iframe 的父页面进行交互。

您的 iframe 代码将如下所示:

<iframe src="<url for your chatbot UI>" width="480" height="540" frameborder="0"></iframe>

-1
投票

创建独立组件:确保您的 React 聊天机器人封装在独立组件中。该组件应包含聊天机器人的所有必要逻辑和 UI 元素。 准备嵌入:确保您的 React 聊天机器人组件设计为易于嵌入。这可能涉及确保它具有灵活的样式选项、不依赖全局状态并且可以轻松初始化。 构建主机页面:您需要在要嵌入聊天机器人的其他网站上有一个页面。此页面应该有一个占位符或容器,将在其中加载聊天机器人。 部署您的聊天机器人组件:将您的 React 聊天机器人组件部署到服务器或 CDN(内容交付网络),以便可以从任何网站访问它。您可以使用 Netlify、Vercel 或 GitHub Pages 等工具来实现此目的。 嵌入聊天机器人组件:在主机页面的 HTML 中,包含必要的脚本标记或导入语句以加载 React 聊天机器人组件。然后,将组件添加到主页 DOM 结构中的所需位置。 以下是如何将 React 聊天机器人组件嵌入 HTML 页面的基本示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Embedded Chatbot</title>
</head>
<body>
    <div id="chatbot-container"></div>

    <script src="path-to-your-chatbot-component.js"></script>
    <script>
        // Assuming your React chatbot component is exported as `Chatbot`
        ReactDOM.render(<Chatbot />, document.getElementById('chatbot-container'));
    </script>
</body>
</html>

将“path-to-your-chatbot-component.js”替换为已部署的聊天机器人组件 JavaScript 文件的实际路径。

确保您的 React 聊天机器人组件能够处理动态调整大小,因为主页可能具有不同的布局配置。

请记住彻底测试集成,以确保它在不同的浏览器和设备上按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.