我有一个播放SVG的应用程序,该应用程序覆盖了HTMl5 vido标签(使用Plyr HTML5播放器)。在用户单击“输入全屏”选项之前,此方法非常有效。使用以前的已停用播放器时,此功能有效。我会收到通知并相应地调整覆盖,但这不适用于Plyr。

我认为Plyr正在使用浏览器(特别是chrome)全屏API来完成某些工作,这使得其他任何事情都无法全屏显示(通过z-index等)。

我想弄清楚如何在全屏模式下进行叠加。这可能涉及:
1)我对Plyr错过或误解的事情,或者
2)强制Plyr进入后备模式(任何想法如何做到这一点?)

寻找有关如何完成此操作的好的建议。

最佳答案

好的,花了一点时间,然后我忘记了这个问题,所以我将以我所做的回答。

let plyrVideoWrapper = document.getElementsByClassName('plyr__video_wrapper')
if (plyrVideoWrapper) {
    let myPluginCollection = document.getElementsByClassName('svg-embedded')
    if (myPluginCollection) {
        plyrVideoWrapper[0].appendChild(myPluginCollection[0])
    }
}


基本上,这会将我的叠加插件移动到具有<video>标记的plyr区域中。我的'svg-embedded'使用以下CSS:

.svg-embedded {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}


一切都按预期工作。

关于javascript - 在全屏模式下如何在Plyr(html5视频播放器)上显示覆盖图?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52747919/

10-12 20:32