重複の可能性:
ブラウザがフルスクリーンモードであるかどうかの検出
ChromeまたはFFがフルスクリーンの場合、MacOSXで正しく動作しない機能に取り組んでいます。それらがちょうど最大化されるとき、それはうまく働きます。これらのブラウザが全画面表示の場合(およびその場合のみ)、この機能から除外したいと思います。しかし、これを検出する方法を見つけるのに苦労しています。誰かが経験や指針を持っていますか?
重複の可能性:
ブラウザがフルスクリーンモードであるかどうかの検出
ChromeまたはFFがフルスクリーンの場合、MacOSXで正しく動作しない機能に取り組んでいます。それらがちょうど最大化されるとき、それはうまく働きます。これらのブラウザが全画面表示の場合(およびその場合のみ)、この機能から除外したいと思います。しかし、これを検出する方法を見つけるのに苦労しています。誰かが経験や指針を持っていますか?
fullscreenElement
が「not null」かどうかを確認できると思います。残念ながら、ブラウザごとに名前が異なるため、次のようにする必要があります。
if ( document.mozFullScreenElement ||
document.webkitCurrentFullScreenElement ||
document.fullscreenElement ) { console.log('FULLSCREEN!'); }
ドキュメント (モジラ): https://developer.mozilla.org/en-US/docs/DOM/document.mozFullScreenElement
イベント ハンドラーをアタッチして、フルスクリーン状態を手動で追跡することもできます。
document.addEventListener( 'fullscreenchange', handler, false );
document.addEventListener( 'mozfullscreenchange', handler, false );
document.addEventListener( 'webkitfullscreenchange', handler, false );
function handler() {
// fullscreen mode changed
}
ビューポートの寸法を確認できます。1024x768
またはのような一般的な画面サイズと一致する場合1920x1080
は、おそらくフルスクリーンモードです。
これを理解するために見ることができるいくつかのプロパティがありますが、特にデュアルモニター設定で、FF対Chrome対IEで報告される値にいくつかの奇妙な点が見られるため、テストすることを強くお勧めします。
screen.avalHeight
画面のscreen.availWidth
解像度を
指定window.outerHeight
しwindow.outerWidth
、ウィンドウサイズを指定します。
それらが一致するかどうかを確認してください。
次のコードを試すことができます。
if (screen.width == window.innerWidth && screen.height == window.innerHeight) {
//full web browser
}