Appearance
跨页通信 SDK 使用说明
本 SDK 实现智能体页面与宿主页面之间的通信能力。
引入 SDK 资源
初始化
js
// 请注意,初始化可能存在失败的情况,需要做好错误处理
// el 与 robotWin 二选一即可;同时传入时,robotWin 优先级更高
const channel = await CxRobotSdkJs.createChannel({
// el: "#robotFrame", // 智能体页面 iframe 的 DOM 节点或者 iframe 的选择器 (作为智能体页面的父页面时使用)
robotWin: window.parent, // 智能体页面的 window 对象 (作为智能体的子页面时使用 window.parent)
});初始化参数
注意
el 与 robotWin 二选一即可;同时传入时,robotWin 优先级更高
| 参数 | 类型 | 描述 |
|---|---|---|
| el | string / dom | 智能体页面 iframe 的 DOM 节点或者 iframe 的选择器 |
| robotWin | Window | 智能体页面的 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 支持的能力