页面事件

作用

在把直播后台 iframe 到其他页面时,可以监听到新页面的打开事件,从而由父页面控制。

目前只支持在打开直播监控页时收到事件。

详情

设置步骤

  1. iframe 方式嵌入直播后台时需要带上?isBrowser=false,如:

https://console.polyv.net/live/index.html?isBrowser=false#/channel

注意,需要把?isBrowser=false放在 URL 的 hash 值前面。

  1. 在直播后台把需要使用iframe嵌套直播后台的父页面域名设置为安全域名。只有配置了安全域名的,才会在打开直播监控页时收到对应的事件。

  2. 在父页面监听事件:

window.addEventListener(
  "message",
  (event) => {
    // 通过 event.data 可以获取到事件数据,event.data 中包含两个属性:
    // 1. event.data.source 事件数据来源,值为 'polyv-live-admin' 时表示来自保利威直播后台
    // 2. event.data.url 需要打开新页面的 URL
    
    // 先判断数据来源是否符合预期
    if (event.data.source === 'polyv-live-admin') {
      // 打开页面(或进行其他处理)
      window.open(event.data.url);
    }
  },
  false,
);

Last updated