API полноэкранного режима
API полноэкранного режима добавляет методы для отображения определённого Element (и его потомков) в полноэкранном режиме и для выхода из полноэкранного режима, когда он больше не нужен. Это позволяет отображать желаемое содержимое, например, онлайн-игру, на весь экран пользователя, скрывая все элементы пользовательского интерфейса браузера и другие приложения до тех пор, пока полноэкранный режим не будет отключен.
Подробную информацию о том, как использовать API, см. в статье Руководство по API полноэкранного режима.
Интерфейсы
API полноэкранного режима не имеет собственных интерфейсов. Вместо этого он расширяет несколько других интерфейсов, добавляя методы, свойства и обработчики событий, необходимые для обеспечения функциональности полноэкранного режима. Они перечислены в следующих разделах.
Методы экземпляров
API полноэкранного режима добавляет методы к интерфейсам Document и Element для включения и выключения полноэкранного режима.
Методы экземпляров интерфейса Document
Document.exitFullscreen()-
Запрашивает у пользователя агента переход из полноэкранного режима обратно в оконный режим. Возвращает
Promise, который разрешается, когда полноэкранный режим будет полностью отключен.
Методы экземпляров интерфейса Element
Element.requestFullscreen()-
Запрашивает у пользователя агента переход к указанному элементу (и, по аналогии, его потомкам) в полноэкранный режим, скрывая все элементы пользовательского интерфейса браузера, а также все другие приложения на экране. Возвращает
Promise, который разрешается, когда полноэкранный режим будет активирован.
Свойства экземпляров
-
Document.fullscreenElement/ShadowRoot.fullscreenElement -
Свойство
fullscreenElementпоказываетElement, который в данный момент отображается в полноэкранном режиме в DOM (или shadow DOM). Если этоnull, документ (или shadow DOM) не находится в полноэкранном режиме. Document.fullscreenEnabled-
Свойство
fullscreenEnabledуказывает, разрешен ли полноэкранный режим. Оноfalseв случае невозможности включения полноэкранного режима (например, если функция"fullscreen"не разрешена или полноэкранный режим не поддерживается).
Устаревшие свойства
-
Document.fullscreenУстаревшее -
Булево значение, которое
trueесли в документе есть элемент, который в данный момент отображается в полноэкранном режиме; в противном случае возвращаетfalse.Примечание: Используйте свойство
fullscreenElementдля интерфейсаDocumentилиShadowRoot; если оно неnull, значит, этоElement, который в данный момент отображается в полноэкранном режиме.
События
fullscreenchange-
Отправляется элементу
Elementпри переходе в полноэкранный режим или выходе из него. fullscreenerror-
Отправляется элементу
Elementв случае ошибки при попытке перехода в полноэкранный режим или выхода из него.
Управление доступом
Доступ к полноэкранному режиму можно контролировать с помощью Политики разрешений. Функция полноэкранного режима идентифицируется строкой "fullscreen", а значение по умолчанию списка разрешений — "self", что означает разрешение полноэкранного режима в контекстах верхнего уровня документов, а также для вложенных контекстов просмотра, загруженных из того же источника, что и документ верхнего уровня.
Примечания по использованию
Пользователи могут выбрать выход из полноэкранного режима, нажав клавишу ESC (или F11), вместо ожидания программного выхода сайта или приложения. Убедитесь, что в пользовательском интерфейсе есть соответствующие элементы управления, информирующие пользователя об этом варианте.
Примечание: Переход на другую страницу, изменение вкладок или переключение на другое приложение с помощью любого переключателя приложений (или Alt-Tab) также выведет из полноэкранного режима.
Примеры
Простой пример использования полноэкранного режима
В этом примере видео отображается на веб-странице. Нажатие клавиши Enter позволяет пользователю переключаться между оконным и полноэкранным режимами отображения видео.
Отслеживание нажатия клавиши Enter
При загрузке страницы выполняется этот код для настройки обработчика событий, который следит за нажатием клавиши Enter.
document.addEventListener(
"keydown",
(e) => {
if (e.key === "Enter") {
toggleFullScreen();
}
},
false,
);
Переключение полноэкранного режима
Этот код вызывается обработчиком событий выше, когда пользователь нажимает клавишу Enter.
function toggleFullScreen() {
if (!document.fullscreenElement) {
document.documentElement.requestFullscreen();
} else if (document.exitFullscreen) {
document.exitFullscreen();
}
}
Он начинается с проверки значения атрибута fullscreenElement интерфейса document. В реальной реализации на этом этапе следует проверить префиксные версии (mozFullScreenElement, msFullscreenElement, или webkitFullscreenElement, например). Если значение равно null, документ находится в оконном режиме, поэтому необходимо переключиться в полноэкранный режим; в противном случае это элемент, который в данный момент находится в полноэкранном режиме. Переключение в полноэкранный режим выполняется путем вызова Element.requestFullscreen() для элемента <video>.
Если полноэкранный режим уже активен (fullscreenElement не равно null), вызывается exitFullscreen() для document для выключения полноэкранного режима.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fullscreen_API |
7115 | 7912 | 649 | 5815 | 16.46 | 7118 | 649 | 5014 |
16.4["Только доступно на iPad, не на iPhone.", "Отображает кнопку наложения, которую нельзя отключить. Проведение пальцем вниз выводит из полноэкранного режима, что делает его неподходящим для некоторых случаев использования, например, для игр."]12Только доступно на iPad, не на iPhone. |
10.01.0 | 71≤37 |
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fullscreen_API |
7115 | 791212–14 | 649Перед Firefox 44, Firefox неправильно разрешал элементам внутри элемента<frame> или <object> запрос и предоставление полноэкранного режима. В Firefox 44 и выше это исправлено: только элементы в документе верхнего уровня или в элементе <iframe> с атрибутом allowfullscreen могут отображаться в полноэкранном режиме. |
581512.1–15 | 16.45.1 | 7118 | 649Перед Firefox для Android 44, Firefox для Android неправильно разрешал элементам внутри элемента<frame> или <object> запрос и предоставление полноэкранного режима. В Firefox для Android 44 и выше это исправлено: только элементы в документе верхнего уровня или в элементе <iframe> с атрибутом allowfullscreen могут отображаться в полноэкранном режиме. |
501412.1–14 |
16.4["Доступно только на iPad, не на iPhone.", "Отображает кнопку наложения, которую нельзя отключить. Проведение пальцем вниз выходит из полноэкранного режима, что делает его непригодным для некоторых случаев использования, таких как игры."]12Доступно только на iPad, не на iPhone. Отображает кнопку наложения, которую нельзя отключить. |
10.01.0 | 71≤37 |
options_navigationUI_parameter |
71 | 79 | Нет | 58 | 16.4 | 71 | Нет | 50 | Нет | 10.0 | 71 |
options_screen_parameter |
100 | 100 | Нет | 86 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
returns_promise |
71 | 79 | 64 | 58 | 16.4 | 71 | 64 | 50 | 16.4 | 10.0 | 71 |
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fullscreen_API |
7115 | 791212–14 | 649 | 581512.1–15 | 16.45.1 | 7118 | 649 | 501412.1–14 |
16.4["Доступно только на iPad, не на iPhone.", "Отображает кнопку наложения, которую нельзя отключить. Проведение пальцем вниз выходит из полноэкранного режима, что делает его непригодным для некоторых случаев использования, таких как игры."]12Доступно только на iPad, не на iPhone. |
10.01.0 | 71≤37 |
returns_promise |
69 | 79 | 64 | 56 | 16.4 | 69 | 64 | 48 | 16.4 | 10.0 | 69 |
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fullscreen_API |
7120 | 12 | 6410 | 581512.1–15 | 16.46 | 7125 | 6410 | 501412.1–14 |
16.4["Доступно только на iPad, не на iPhone.", "Отображает кнопку наложения, которую нельзя отключить. Проведение пальцем вниз выходит из полноэкранного режима, что делает его непригодным для некоторых случаев использования, таких как игры."]12Доступно только на iPad, не на iPhone. |
10.01.5 | 714.4 |
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
Fullscreen_API |
7120 | 791212–14 | 649 | 581512.1–15 | 16.46 | 7125 | 649 | 501412.1–14 |
16.4["Доступно только на iPad, не на iPhone.", "Отображает кнопку наложения, которую нельзя отключить. Проведение пальцем вниз выходит из полноэкранного режима, что делает его непригодным для некоторых случаев использования, таких как игры."]12Доступно только на iPad, не на iPhone. |
10.01.5 | 714.4 |
api.Document.fullscreenElement
Таблицы BCD загружаются только в браузере
api.Document.fullscreenEnabled
Таблицы BCD загружаются только в браузере
api.Document.exitFullscreen
Таблицы BCD загружаются только в браузере
api.Element.requestFullscreen
Таблицы BCD загружаются только в браузере
api.Document.fullscreen
Таблицы BCD загружаются только в браузере
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API