DOM

Document.pictureInPictureEnabled プロパティ

 編集:2022.10.11 by T.A.

[Edge]読取専用。→

ピクチャー イン ピクチャー モードが使用可能かどうかを示します。

Picture-in-Picture モードは、 で特に指定されていない限り、デフォルトで使用できます。

このプロパティは読み取り専用ですが、変更された場合はスローされません(strict モードであっても)。セッターはノー オペレーションであり、無視されます。

Document.pictureInPictureEnabled

ブール値。これは、HTMLVideoElement.requestPictureInPicture() を呼び出すことによって、ビデオがピクチャー イン ピクチャーに入り、フローティング ウィンドウに表示できる場合に当てはまります。ピクチャー イン ピクチャー モードが使用できない場合は、この値は false です。

ピクチャー イン ピクチャー モード

設定メニューを出し、この場所で設定できます([Edge])。→

この例では、<video> 要素のピクチャー イン ピクチャー モードに入ろうとする前に、pictureInPictureEnabled の値がチェックされます。機能が利用できない場合に呼び出さないようにするためです。

function requestPictureInPicture() {
  if (document.pictureInPictureEnabled) {
    videoElement.requestPictureInPicture();
  } else {
    console.log('Your browser cannot use picture-in-picture right now');
  }
}

HTML:

<VIDEO id=IdVideo src="../../Sample/Eizou_M.mp4" muted controls></VIDEO>

JavaScript:

if(document.pictureInPictureEnabled==true){	//ピクチャー イン ピクチャーが可能なら、
  document.onclick = Job;	//イベントを割り当てる。
}
function Job(){
  if(document.pictureInPictureElement){	//ピクチャー イン ピクチャーしている要素があるなら、
    document.exitPictureInPicture();	//ピクチャー イン ピクチャー モード解除。
  }else{	//…そうでなければ、
    IdVideo.requestPictureInPicture();	//ピクチャー イン ピクチャー モードに入る。
  }
}

テスト