海康视频插件,页面中多窗口层级问题

1,730 阅读1分钟

开发中用到了海康视频插件,一个浏览器页面使用多个 DIV 窗口加载了多个插件窗口时,插件窗口全屏后其它窗口会处于全屏窗口上。一开始以为是z-index问题,但是提供的代码都根本没有这个属性,如果改源码还不至于,于是二刷开发指南,发现了解决办法,针对此场景如下处理:

  • 1、JS_SetWindowControlCallback 设置的消息回调中监听窗口全屏事件
  • 2、监听到窗口全屏事件时调 JS_HideWnd 插件窗口隐藏接口对除接收到全屏事件的插件窗口外的其它窗口隐藏
  • 3、监听到窗口退出全屏事件时调 JS_ShowWnd 插件窗口显示窗口对接收到退出全屏事件的插件窗口外的其 它窗口显示海康提供的代码里写好了推送消息的方法,只需要在方法中加入如下代码就可解决上述问题。代码如下:
    // 推送消息
    cbIntegrationCallBack(oData) {
      // console.log(oData.responseMsg);
      if (oData.responseMsg.msg.result == 1024) {
        //1024-进入全屏
        this.oWebControl.JS_HideWnd();
      }else if(oData.responseMsg.msg.result == 1025){
        //1025-退出全屏
        this.oWebControl.JS_ShowWnd();
      }
    },