该技能用于将预约页面以嵌入形式集成到任意网页,支持三种模式:inline(iframe 直接嵌入页面)、popup(由触发器打开带 iframe 的模态浮层)以及 element-click / floating-button(页面任意位置固定定位的触发器)。嵌入页地址为 /:user/:slug/embed,展示相同预约界面但不含外层框架,并可通过查询参数沿用主题。
使用方式为先生成代码片段:引入 https://<host>/embed.js(async),放置一个容器元素(如 <div id="cal-inline-embed">),再调用初始化与内联方法:Cal("init", { origin: "https://<host>" }); 以及 Cal("inline", { elementOrSelector: "#cal-inline-embed", calLink: "my-user/intro", config: { theme: "light" } });。
主题与本地化通过嵌入 URL 上的查询参数设置:theme=light|dark、primaryColor=<hex>、locale=en|es|...、timeZone=America/Los_Angeles。这些参数仅覆盖嵌入会话,不影响事件类型本身的默认值。生命周期事件通过 iframe 向父页面发送消息,包括 __cal.init、__cal.booking-successful、__cal.booking-cancelled、__cal.booking-rescheduled。
适用场景包括在网站上直接提供预约入口、按点击打开预约浮层,或使用固定浮动按钮。限制方面:资料未提供浏览器兼容范围、性能或安全说明;其他配置项与完整 API 文档暂未提供。