Element.requestFullscreen()
Element.requestFullscreen()
メソッドは、要素を全画面表示するための非同期的な要求を発行します。
要素が全画面モードに移行することは保証されていません。全画面モードに移行する許可が与えられている場合は、返される Promise
が解決され、文書が全画面モードになったことを知ることができる fullscreenchange
イベントを受け取るようになります。権限が拒否された場合は、代わりに fullscreenerror
イベントを受け取ります。
このメソッドはユーザーの操作又は機器の方向の変更によって呼び出す必要があり、そうでなければ失敗します。
構文
var Promise = Element.requestFullscreen();
引数
なし。
返値
全画面への移行が完了した場合は、 undefined
の値で解決した Promise
。
例外
全画面のリクエストが失敗した場合は、 Promise が例外で拒否されるかもしれません。発生しうる例外は以下の通りです。
- 要素の文書が、全画面への移行ができる状態にない (つまり、
defaultView
がない)。 - 要素が HTML, SVG, Math の要素ではない
- 全画面が許可されていない (例えば、ユーザーの操作ではない) 又は対応していない。
TypeError
- 以下の状況の一つが発生する可能性あります。
例
requestFullscreen()
を呼び出す前に、 fullscreenchange
及び fullscreenerror
イベントのハンドラーを設定してください。そうすれば、いつ全画面モードに切り替えることに成功したか (又は権限がなくて拒否されたか) を知ることができます。
tbd
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
Fullscreen API Element.requestFullscreen() の定義 |
現行の標準 | 初回定義 |
ブラウザーの対応
機能 | Chrome | Firefox | Internet Explorer | Edge | Opera | Safari |
---|---|---|---|---|---|---|
基本対応 | (有)webkit[1] | 9.0 (9.0) mozRequestFullScreen として対応[2]47.0 (47.0) (full-screen-api.unprefix.enabled で制御) |
11ms[3] | (有)[3] | ? | ? |
Promise の返却 | 未対応 | 未対応 | 未対応 | 未対応 | 未対応 | 未対応 |
機能 | Chrome Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本対応 | (有)webkit[1] | (有) | 9.0 (9.0) mozRequestFullScreen として対応 [2]47.0 (47.0) (full-screen-api.unprefix.enabled で制御) |
? | ? | ? |
Promise の返却 | 未対応 | 未対応 | 未対応 | 未対応 | 未対応 | 未対応 |
[1] webkitRequestFullscreen
としても実装されています。
[2] mozRequestFullScreen
として実装されています (Screen の S は大文字です)。 Firefox 44 より前のバージョンでは、誤って <frame>
や <object>
の内部にある要素の要求も受け入れて、許可されれば全画面表示していました。これは Firefox 44 以降で修正済みです。文書の最上位にある要素、または allowfullscreen
属性を持つ <iframe>
だけが全画面モードで表示できます。
[3] MSDN の文書をご覧ください。