事件对接 API (postMessage)
当 VCMS 组件被 iframe 嵌入到你的平台时,组件可以把用户的交互(点「更多」、点视频)通过浏览器原生的 window.postMessage 抛给父页面,由你的平台决定怎么处理。
跨域安全:iframe 与父页面不同源也能通信,这是 postMessage 的标准用法。
两种模式
在嵌入 URL 上加 events 参数来启用:
| 模式 | URL 参数 | 行为 |
|---|---|---|
| 只发事件 | ?events=1 | 组件不跳转,只把事件抛给父页面。你的平台自己处理(开新窗口播放、走自家路由、弹窗等)。 |
| 跳转 + 发事件 | ?events=nav | 组件自己跳转到门户(整页),同时发事件给你(用于埋点/统计)。 |
| 不启用 | (不加 events) | 默认行为:组件用 target="_top" 自己跳转,不发事件。 |
events=nav会在发出事件后约 120ms 再跳转,确保你的监听函数(如埋点)先执行。
嵌入示例
<!-- 只发事件:你的平台全权处理交互 -->
<iframe src="https://vcms-qa.acorners.com/strip?platform=1&events=1"
width="100%" height="300" frameborder="0" scrolling="no"></iframe>
<!-- 跳转 + 发事件:组件自己跳门户,你只做埋点 -->
<iframe src="https://vcms-qa.acorners.com/strip?platform=1&events=nav"
width="100%" height="300" frameborder="0" scrolling="no"></iframe>
events 参数对横条 /strip、完整页 /embed 都生效。