ホームページ  >  記事  >  ウェブフロントエンド  >  ブラウザーの全画面およびさまざまなブラウザーの全画面モードを制御するための JavaScript メソッド、プロパティ、およびイベント_JavaScript スキル

ブラウザーの全画面およびさまざまなブラウザーの全画面モードを制御するための JavaScript メソッド、プロパティ、およびイベント_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 15:24:181660ブラウズ

HTML 5 のフルスクリーンは、現在 IE と Opera 以外のブラウザでも使用できます。フルスクリーン API やゲームなどで使用されることがあります。非常に便利です。まず一般的な API を見てみましょう

element.requestFullScreen()

機能: 特定の要素の全画面表示をリクエスト

Document.getElementById(“myCanvas”).requestFullScreen()

フルスクリーンをリクエストする要素 ID は次のとおりです

全画面表示を終了

document.cancelFullScreen()

ドキュメント.フルスクリーン

ユーザーが全画面モードの場合は true を返します

document.fullScreenElement

現在全画面モードになっている要素を返します

次のコードは全画面モードをオンにします:

function fullScreen(element) { 
  if(element.requestFullScreen) { 
  element.requestFullScreen(); 
 } else if(element.webkitRequestFullScreen ) { 
   element.webkitRequestFullScreen(); 
  } else if(element.mozRequestFullScreen) { 
  element.mozRequestFullScreen(); 
 } 
 } 

次のコードは、ページ全体の全画面モードを呼び出します

しかし、正直に言うと、フルスクリーンには問題があり、
のような欺瞞に簡単につながる可能性があります。 http://feross.org/html5-fullscreen-api-attach/、騙すための優れたデモがあります。たとえば、リンクには http://www.bankofamerica.com と入力すると、フルスクリーン API を使用しているため、誰もがそれを Bank of America だと思います。

$('html').on('click keypress', 'a', function(event) { 
  // 不响应真正的A HREF点击事件 
 event.preventDefault(); 
  event.stopPropagation(); 
  // Trigger fullscreen 
  if (elementPrototype.requestFullscreen) { 
   document.documentElement.requestFullscreen(); 
  } else if (elementPrototype.webkitRequestFullScreen) { 
   document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); 
  } else if (elementPrototype.mozRequestFullScreen) { 
   document.documentElement.mozRequestFullScreen(); 
  } else { 
   // 
  } 
  //显示假的UI 
  $('#menu, #browser').show(); 
  $('#target-site').show(); 
 }); 

以下は、さまざまなブラウザーの全画面モードを制御するための JavaScript のメソッド、プロパティ、イベントの紹介です

ブラウザーのフルスクリーン モードの起動関数 requestFullscreen には、各ブラウザーの js 方言プレフィックスを付ける必要があります。次のコードをまとめるには、多くの検索を費やす必要があると思います。


コードは次のとおりです:

// 判断各种浏览器,找到正确的方法
function launchFullscreen(element) {
 if(element.requestFullscreen) {
  element.requestFullscreen();
 } else if(element.mozRequestFullScreen) {
  element.mozRequestFullScreen();
 } else if(element.webkitRequestFullscreen) {
  element.webkitRequestFullscreen();
 } else if(element.msRequestFullscreen) {
  element.msRequestFullscreen();
 }
}
// 启动全屏!
launchFullScreen(document.documentElement); // 整个网页
launchFullScreen(document.getElementById("videoElement")); // 某个页面元素
全画面で表示したいページ要素で全画面メソッドを呼び出します。ブラウザ ウィンドウは全画面表示になりますが、最初に全画面モードを許可するかどうかをユーザーに尋ねられます。ユーザーは全画面モードを拒否する可能性が高いことに注意してください。ユーザーが全画面モードで実行すると、ブラウザのツールバーやその他のボタン メニューが非表示になり、ページが画面全体を覆うことになります。


全画面モードを終了します

この exitFullscreen メソッド (ブラウザのプレフィックスも必要) により、ブラウザは全画面モードを終了し、通常モードに変わります。


コードは次のとおりです:


// 判断浏览器种类
function exitFullscreen() {
 if(document.exitFullscreen) {
  document.exitFullscreen();
 } else if(document.mozCancelFullScreen) {
  document.mozCancelFullScreen();
 } else if(document.webkitExitFullscreen) {
  document.webkitExitFullscreen();
 }
}
// 退出全屏模式!
exitFullscreen();
exitFullscreen は、全画面表示の開始時に渡されるオブジェクトではなく、ドキュメント オブジェクトによってのみ呼び出すことができることに注意してください。


全画面プロパティとイベント

残念ながら、イベントの全画面プロパティと関連メソッドでもブラウザーの接頭辞を追加する必要がありますが、これはすぐには必要なくなると思います。


1.document.fullScreenElement: 全画面で表示される Web ページ要素。

2.document.fullScreenEnabled: 現在全画面状態かどうかを確認します。

全画面表示が開始されたとき、または全画面表示が終了したときに、fullscreenchange イベントがトリガーされます:


コードは次のとおりです:

var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled;
上記の方法を使用して、このイベントにプレフィックスを付けるブラウザの種類を決定することもできます。


全画面スタイル CSS

さまざまなブラウザでは、全画面モード用の非常に便利な CSS スタイル ルールが提供されています。


コードは次のとおりです:

-webkit-full-screen {

 /* properties */
}
:-moz-full-screen {
 /* properties */
}
:-ms-fullscreen {
 /* properties */
}
:full-screen { /*pre-spec */
 /* properties */
}
:fullscreen { /* spec */
 /* properties */
}
/* deeper elements */
:-webkit-full-screen video {
 width: %;
 height: %;
}
/* styling the backdrop*/
::backdrop {
 /* properties */
}
::-ms-backdrop {
 /* properties */
}
場合によっては、WebKit スタイルが問題を引き起こす可能性があるため、これらのスタイルはシンプルにしておく方がよいでしょう。


これらの全画面 API は非常にシンプルで非常に便利です。私がこの API を初めて見たのは、MDN の BananaBread デモでした。これは、フルスクリーン状態を検出するためにイベント リスニングを使用するだけのシューティング ゲームでした。これらの便利な API を覚えておくと、必要なときに使用できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。