如何隐藏Safari中的画中画(PiP)控件

时间:2018-03-01 04:45:45

标签: javascript html5 macos css3 safari

我需要隐藏Safari浏览器中的一个视频控件,即画中画(PiP)。对此有什么解决方案吗?

我们可以使用HTML5隐藏它吗?

2 个答案:

答案 0 :(得分:3)

现在可以使用

disablePictureInPicture 属性

<video disablepictureinpicture controlslist="nodownload"></video>

详细信息在这里: https://wicg.github.io/picture-in-picture/#disable-pip

答案 1 :(得分:2)

似乎没有任何官方方式可以做到这一点......

目前在Safari中它全部或全无(使用controls=false)。

shadow-targetting pseudo elements selectors似乎无法在此浏览器上运行,与Blink浏览器不同,即使我在互联网上找到了::-webkit-media-controls-picture-in-picture-button的引用。

因此,对于今天,唯一的解决方案是禁用视频元素的所有默认控件并构建自己的控件 如果您愿意,您可以将其作为条件:

if(typeof vidElem.webkitSupportsPresentationMode === 'function' &&
  vidElem.webkitSupportsPresentationMode('picture-in-picture') ) {
    vidElem.controls = false;
    buildCustomControls(vidElem);
}

对于将来,可能会有controlsList属性,drafts specs目前仅处理nodownloadnofullscreennoremoteplayback,但我可以&#39;}如果这个属性(主要是由Blink浏览器再​​次推动)会从草稿中消失,那么为什么nopicture-in-picture无法在那里出现呢?