检查Javascript中是否已经存在画中画?

检查Javascript中是否已经存在画中画?,javascript,canvas,webrtc,picture-in-picture,Javascript,Canvas,Webrtc,Picture In Picture,我正在创建一个picture-in-picture元素,该元素将在加载javascript文件后立即触发。 最初我会使用网络摄像头流作为视频源,但在某个事件发生更改时,我会将视频源更改为画布元素。 是否有方法检查picture in picture元素是否已在浏览器中打开?文档。如果PIP可用,pictureInPictureElement将是视频元素,否则它将为null //如果不支持画中画,则隐藏按钮。 pipButton.hidden=!document.pictureinpictur

我正在创建一个picture-in-picture元素,该元素将在加载javascript文件后立即触发。
最初我会使用网络摄像头流作为视频源,但在某个事件发生更改时,我会将视频源更改为画布元素。

是否有方法检查picture in picture元素是否已在浏览器中打开?

文档。如果PIP可用,pictureInPictureElement
将是视频元素,否则它将为
null

//如果不支持画中画,则隐藏按钮。
pipButton.hidden=!document.pictureinpicturenabled;
pipButton.addEventListener('click',function(){
//若图片中还并没有任何元素,让我们请求图片
//在视频的图片中,否则将其保留。
如果(!document.pictureInputPictureElement){
video.requestPictureInPicture()
.catch(错误=>{
//视频无法在图片模式下输入图片。
});
}否则{
document.exitPictureInPicture()文件
.catch(错误=>{
//视频无法将图片保留为图片模式。
});
}
控制台清除()
console.log(!document.pictureInPictureElement)
});
切换PiP

我认为这不关OP的事,所以我向你投了赞成票,但这种方法不允许检查从其他文档打开的其他PiP窗口(IIRC仍然只能是一个)