3

重複の可能性:
ブラウザがフルスクリーンモードであるかどうかの検出

ChromeまたはFFがフルスクリーンの場合、MacOSXで正しく動作しない機能に取り組んでいます。それらがちょうど最大化されるとき、それはうまく働きます。これらのブラウザが全画面表示の場合(およびその場合のみ)、この機能から除外したいと思います。しかし、これを検出する方法を見つけるのに苦労しています。誰かが経験や指針を持っていますか?

4

4 に答える 4

4

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
}
于 2012-10-29T17:47:55.960 に答える
1

ビューポートの寸法を確認できます。1024x768またはのような一般的な画面サイズと一致する場合1920x1080は、おそらくフルスクリーンモードです。

于 2012-10-29T17:31:42.027 に答える
1

これを理解するために見ることができるいくつかのプロパティがありますが、特にデュアルモニター設定で、FF対Chrome対IEで報告される値にいくつかの奇妙な点が見られるため、テストすることを強くお勧めします。

screen.avalHeight画面のscreen.availWidth解像度を 指定window.outerHeightwindow.outerWidth、ウィンドウサイズを指定します。

それらが一致するかどうかを確認してください。

于 2012-10-29T17:40:22.650 に答える
1

次のコードを試すことができます。

if (screen.width == window.innerWidth && screen.height == window.innerHeight) {
    //full web browser
}
于 2012-10-29T17:32:35.737 に答える