我在我的Next.js应用程序中有一个聊天机器人组件,我希望任何人都可以使用<脚本标签在他们的网站上使用聊天机器人.假设我将组件放在公用文件夹中以具有公共访问权限.

我如何实现这种功能,以便任何人都可以在其应用程序的脚本标记中添加此链接并访问我的聊天机器人

<script type="module" src="https://my-app-url/Chatbot.js" defer></script>

enter image description here

推荐答案

最简单的方法是使用iframe.

您可以使用仅包含Chatbot组件的页面托管您的Next.js应用程序,并将背景 colored颜色 设置为透明.

background-color : transparent;

然后,任何可以访问你的应用程序的人都可以使用iframe将聊天机器人嵌入到他们自己的网站中.加allowtransparency="true"会达到你想要的效果.

<iframe src="https://your-nextjs-app/chatbot-page" allowtransparency="true"></iframe> 

IFRAME上的more info%允许透明.


要使用Java脚本创建iFrame,请执行以下操作:

// Create the iframe element
var iframe = document.createElement('iframe');

// Set the iframe attributes
iframe.src = 'https://your-nextjs-app/chatbot-page';
iframe.style.position = 'fixed';
iframe.style.bottom = '0';
iframe.style.right = '0';
iframe.style.width = '400px';
iframe.style.height = '600px';
iframe.style.border = 'none';
iframe.style.opacity = '0.5';
iframe.style.zIndex = '9999';
iframe.allowtransparency = true;
iframe.style.backgroundColor = 'transparent';

// Append the iframe to the document body
document.body.appendChild(iframe);

Javascript相关问答推荐

使用json文件字符串来enum显示类型字符串无法按照计算的enum成员值的要求分配给类型号

如何访问Json返回的ASP.NET Core 6中的导航图像属性

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

使用复选框在d3.js多折线图中添加或删除线条

自定义高图中的x轴标签序列

我们如何从一个行动中分派行动

Websocket错误—有一个或多个保留位开启:reserved1 = 1,reserved2 = 0,reserved3 = 0

保持物品顺序的可变大小物品分配到平衡组的算法

类构造函数不能在没有用With Router包装的情况下调用

如何在和IF语句中使用||和&;&;?

JavaScript:如果字符串不是A或B,则

构建器模式与参数对象输入

如何在AG-Grid文本字段中创建占位符

如何在FiRestore中的事务中使用getCountFromServer

使用createBrowserRoutVS BrowserRouter的Reaction路由

有角粘桌盒阴影

将Windows XP转换为原始数据以在html前端中显示

响应,Use Callback更新状态变量,该变量也存在于其依赖数组中,它如何防止无限重新呈现?

JS:inline date子串.

try 导入material 时出现错误NG0203