Fullscreen API
Document の exitFullscreen() メソッドは、この文書で現在全画面モードで表示されている要素が全画面モードを抜け、画面を以前の状態に戻すことを要求します。これはふつう、以前の Element.requestFullscreen() の呼び出しの効果を取り消します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 71 | 12 | 64 | 16.4 | 71 | 16.4 | |
| HTML 属性 | ||||||
allow (fullscreen) | 62 | 79 | 80 | | 62 | |
allowfullscreen | 38 | 12 | 18 | 10.1 | 38 | 12 |
| DOM API | ||||||
| Document の exitFullscreen() メソッドは、この文書で現在全画面モードで表示されている要素が全画面モードを抜け、画面を以前の状態に戻すことを要求します。これはふつう、以前の Element.requestFullscreen() の呼び出しの効果を取り消します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
exitFullscreen (returns promise) Promise` を返す。 | 69 | 79 | 64 | 16.4 | 69 | 16.4 |
| fullscreenchange イベントは、ブラウザーが全画面モードに移行したり終了したりした直後に発生します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| Document.fullscreenElement プロパティは読み取り専用で、この文書内で現在全画面モードで表示されている を返し、全画面モードを使用していない場合は null を返します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| fullscreenEnabled は Document インターフェイスの読み取り専用プロパティで、全画面モードが使用できるかどうかを示します。 | 71 | 12 | 64 | 16.4 | 71 | 16.4 |
| fullscreenerror イベントは、ブラウザーが全画面モードに移行できないときに発生します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| fullscreenchange イベントは、ある要素 (Element) が全画面モードに切り替わったり、終了したりした直後に発生します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| fullscreenerror イベントは、ブラウザーが全画面モードに切り替えることができなかったときに発生します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| Element.requestFullscreen() メソッドは、要素を全画面表示するための非同期的な要求を発行します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
requestFullscreen (options navigationUI parameter) options.navigationUI`パラメータ | 71 | 79 | | 16.4 | 71 | |
requestFullscreen (returns promise) Promise` を返す。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| allowFullscreen は HTMLIFrameElement インターフェイスのプロパティで、iframe 要素の allowfullscreen 属性を反映する論理値であり、この iframe のコンテンツが Element.requestFullscreen を使用することを許可するかどうかを示します。 | 38 | 12 | 22 | 10.1 | 38 | 12 |
| fullscreenElement は ShadowRoot インターフェイスの読み取り専用プロパティで、現在全画面モードで表示されているシャドウツリー内の要素を返します。 | 71 | 79 | 64 | 16.4 | 71 | 16.4 |
| CSS セレクタ | ||||||
fullscreen フルスクリーン対応 | 69 | 12 | 47 | 16.4 | 69 | 16.4 |
all elements フルスクリーンスタック内のすべての要素を選択する | | 12 | 43 | | | |
| その他 | ||||||
fullscreen 実験的 HTTP の Permissions-Policy ヘッダーにおける fullscreen ディレクティブは、現在の文書が Element.requestFullScreen() を使用することを許可するかどうかを制御します。 | 88 | 88 | | | 88 | |
- 以前は別名で対応していました: :-webkit-full-screen (15)
- 以前は別名で対応していました: :-moz-full-screen (9)
- 以前は別名で対応していました: :-webkit-full-screen (6)
- 以前は別名で対応していました: :-webkit-full-screen (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- 以前は別名で対応していました: :-webkit-full-screen (12)
- このバージョンで機能が削除されました (38)
- ベンダープレフィックス付きで対応: webkit (17)
- このバージョンで機能が削除されました (18)
- ベンダープレフィックス付きで対応: moz (9)
- ベンダープレフィックス付きで対応: webkit (5.1)
- このバージョンで機能が削除されました (38)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (15)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- 以前は別名で対応していました: mozCancelFullScreen (9)
- ベンダープレフィックス付きで対応: webkit (5.1)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (15)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: moz (10)
- ベンダープレフィックス付きで対応: webkit (5.1)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (20)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- 以前は別名で対応していました: mozFullScreenElement (9)
- ベンダープレフィックス付きで対応: webkit (6)
- ベンダープレフィックス付きで対応: webkit (25)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (20)
- 以前は別名で対応していました: mozFullScreenEnabled (10)
- ベンダープレフィックス付きで対応: webkit (6)
- ベンダープレフィックス付きで対応: webkit (25)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (18)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: moz (10)
- ベンダープレフィックス付きで対応: webkit (6)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (15)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: moz (10)
- ベンダープレフィックス付きで対応: webkit (5.1)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (18)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: moz (10)
- ベンダープレフィックス付きで対応: webkit (6)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- ベンダープレフィックス付きで対応: webkit (12)
- ベンダープレフィックス付きで対応: webkit (15)
- このバージョンで機能が削除されました (14)
- ベンダープレフィックス付きで対応: webkit (12)
- 以前は別名で対応していました: mozRequestFullScreen (9)
- Firefox 44 以前では、Firefox は `<frame>` 要素や `<object>` 要素内の要素がフルスクリーンを要求し、許可されることを誤って許可していました。Firefox 44 以降では、これは修正されました: トップレベルドキュメント内の要素、または `allowfullscreen` 属性を持つ `<iframe>` 要素内の要素のみがフルスクリーン表示できます。
- ベンダープレフィックス付きで対応: webkit (5.1)
- ベンダープレフィックス付きで対応: webkit (18)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- iPadのみで、iPhoneでは使用できません。無効にできないオーバーレイボタンが表示されます。
- ベンダープレフィックス付きで対応: webkit (12)
- このバージョンで機能が削除されました (18)
- 以前は別名で対応していました: mozAllowFullScreen (9)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- 以前は別名で対応していました: mozFullScreenElement (63)
- このブラウザでは部分的にしか実装されていません
- iPadのみで、iPhoneでは利用できない。
- 無効にできないオーバーレイボタンが表示されます。下にスワイプするとフルスクリーンモードが終了するため、ゲームなど一部の用途には適さない。
- このバージョンで機能が削除されました (79)
基本構文
document.onclick = (event) => {
if (document.fullscreenElement) {
document
.exitFullscreen()
.then(() => console.log("Document Exited from Full screen mode"))
.catch((err) => console.error(err));
} else {
document.documentElement.requestFullscreen();
}
}; 実務での使いどころ
-
Fullscreen API の活用
Document の exitFullscreen() メソッドは、この文書で現在全画面モードで表示されている要素が全画面モードを抜け、画面を以前の状態に戻すことを要求します。
注意点
- 一部のブラウザでのみ対応。使用前にブラウザサポートを確認すること。
実装メモ
- 一部の API はセキュアコンテキスト (HTTPS) やユーザー操作起点を必要とする。利用前に要件を確認すること。