Skip to content

跨页通信 SDK 使用说明

本 SDK 实现智能体页面与宿主页面之间的通信能力。

引入 SDK 资源

查看引入方法

初始化

js
// 请注意,初始化可能存在失败的情况,需要做好错误处理
// el 与 robotWin 二选一即可;同时传入时,robotWin 优先级更高
const channel = await CxRobotSdkJs.createChannel({
  // el: "#robotFrame", // 智能体页面 iframe 的 DOM 节点或者 iframe 的选择器 (作为智能体页面的父页面时使用)
  robotWin: window.parent, // 智能体页面的 window 对象 (作为智能体的子页面时使用 window.parent)
});

初始化参数

注意

elrobotWin 二选一即可;同时传入时,robotWin 优先级更高

参数类型描述
elstring / dom智能体页面 iframe 的 DOM 节点或者 iframe 的选择器
robotWinWindow智能体页面的 window 对象

实例方法

监听用户发送的消息

js
channel.on("ask", (data) => {
  console.log("ask", data);
});

监听服务端返回的消息

js
channel.on("message", (data) => {
  console.log("message", data);
});

接收能力接口的返回数据

js
channel.on("xxx", (data) => {
  console.log("xxx", data);
});

调用 iframe 支持的能力

js
channel.postMessage(type, data);

// channel.postMessage("CXBOT:alert", { title: "提示标题", text: "提示内容" });

提示

所有支持的能力,请参考 iframe 支持的能力

最近更新: