I only update when I feel like it.

tomisan.com

【JavaScript】フルスクリーン表示と解除【覚書】


フルスクリーン表示にするためのボタンを用意して、そのボタンをクリックしたらフルスクリーン表示になり、Escキーで解除。

セキュリティ上の理由から、スクリプトによる自動フルスクリーン表示はほとんどのブラウザで許可されていません。
スクリーン関数はショートカットキーやクリックでのイベント等、ユーザー側のアクションをトリガーとするイベントハンドラ内で呼び出す必要があるため、ロード時などは使用できません。


ページ読み込み完了と同時にJavaScriptでフルスクリーン表示する、というのは現実的ではないので
“ボタンをクリックしたらフルスクリーン表示”という方法になります。
他の方法では、単純にユーザーがF11キー(Windowsの場合)を押せばフルスクリーンになります。
いずれにせよ、フルスクリーンはユーザー側のアクションで実行されるものであります。

webページ内の動画部分や画像部分など、一部分をフルスクリーンにすることも可能。

 

ボタン

<button onclick="openFullscreen();">フルスクリーンにする</button>

 

フルスクリーン表示と解除

// フルスクリーン表示
function openFullscreen() {
  var elem = document.documentElement;
  if (elem.requestFullscreen) {
    elem.requestFullscreen(); // W3C spec
  } else if (elem.mozRequestFullScreen) { 
    elem.mozRequestFullScreen(); // Firefox
  } else if (elem.webkitRequestFullscreen) { 
    elem.webkitRequestFullscreen(); // Chrome, Safari and Opera
  } else if (elem.msRequestFullscreen) { 
    elem.msRequestFullscreen(); // IE/Edge
  }
}

// Escapeキーでフルスクリーンを解除
function closeFullscreen() {
  if (document.exitFullscreen) {
    document.exitFullscreen(); // W3C spec
  } else if (document.mozCancelFullScreen) { 
    document.mozCancelFullScreen(); // Firefox
  } else if (document.webkitExitFullscreen) { 
    document.webkitExitFullscreen(); // Chrome, Safari and Opera
  } else if (document.msExitFullscreen) { 
    document.msExitFullscreen(); // IE/Edge
  }
}

document.addEventListener('keydown', function(event) {
  if (event.key === "Escape") {
    closeFullscreen();
  }
});

 

サイト内のスライドショー部分をフルスクリーンに

document.getElementById('slideshowOpen').addEventListener('click', function() {
  var elem = document.getElementById('slideshow');
  if (elem.requestFullscreen) {
    elem.requestFullscreen();
  } else if (elem.mozRequestFullScreen) { /* Firefox */
    elem.mozRequestFullScreen();
  } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */
    elem.webkitRequestFullscreen();
  } else if (elem.msRequestFullscreen) { /* IE/Edge */
    elem.msRequestFullscreen();
  }
});

ボタン id=”slideshowOpen”
スライドショー id=”slideshow”
ボタンをクリックしてスライドショーを全画面にする。

 

 

コメントは受け付けていません。