我需要隐藏Safari浏览器中的一个视频控件,即画中画(PiP)。对此有什么解决方案吗?
我们可以使用HTML5隐藏它吗?
答案 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目前仅处理nodownload
,nofullscreen
和noremoteplayback
,但我可以&#39;}如果这个属性(主要是由Blink浏览器再次推动)会从草稿中消失,那么为什么nopicture-in-picture
无法在那里出现呢?