DOM

Element:fullscreenerror イベント

 編集:2022.09.26 by T.A.

[Edge]?。→

ブラウザーが全画面モードに切り替えることができなかったときに発生します。

バブリング あり
キャンセル 不可
インターフェイス Event
イベント ハンドラー プロパティ onfullscreenerror

fullscreenchange イベントと同様に、2 つの fullscreenerror イベントが発生します。1 つ目はモード切替に失敗した Element に送られ、2 つ目はその要素を含む Document に送られます。

全画面モードへの切り替えが失敗する理由の一部は、をお読みください。

「Fullscreen API のガイド(en-US)」より

フルスクリーン モードに切り替えられることは保証されていません。たとえば、<iframe> 要素には allowfullscreen 属性があり、そのコンテンツをフルスクリーン モードで表示できるようにオプトインできます。特定の種類のコンテンツ、ウィンドウ化されたプラグインなど、全画面モードでは表示できません。フルスクリーン モードで表示できない要素(またはそのような要素の親または子孫)を配置しようとしても機能しません。その代わり、フルスクリーンを要求した要素は mozfullscreenerror イベントを受け取ります。全画面リクエストが失敗すると、Firefox は、リクエストが失敗した理由を説明するエラー メッセージを Web コンソールに記録します。ただし、Chrome および新しいバージョンの Opera では、そのような警告は生成されません。

mdnより
const requestor = document.querySelector('div');

requestor.addEventListener('fullscreenerror', (event) => {
  console.error('an error occurred changing into fullscreen');
  console.log(event);
});

requestor.requestFullscreen();

HTML:

<IFRAME id=IdTest src="../Com/Test.htm" allowfullscreen></IFRAME><BR>
<SPAN id=IdLog></SPAN><BR>

JavaScript:

function Job(eve){ //全画面モードチェンジイベント処理:
  D=eve; //=[object]:[object Event]
  if(document.fullscreenElement){ //全画面モードになった?、
    DA=document.fullscreenElement; //=[object]:[object HTMLSpanElement]
//    IdLog.innerHTML=document.fullscreenElement.id;
  }else{	// いいえ:
//    IdLog.innerHTML="全画面モードは終了しました。";
  }
}
function Job2(eve){ //全画面モードエラーイベント処理:
  IdLog.innerHTML="エラーが発生しました。";
}
IdTest.onfullscreenchange=Job;
IdTest.onfullscreenerror=Job2;

↓これを実行して全画面にする。

IdTest.requestFullscreen();

allowfullscreen を色々指定してみたが、どうやってもフルスクリーンになるが。

document.fullscreenElement


テスト