Spec-Zone.ru › Web APIs

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 для выключения полноэкранного режима.

Спецификации

Спецификация
Fullscreen API
# ref-for-dom-document-fullscreenelement①
Fullscreen API
# ref-for-dom-document-fullscreenenabled①
Fullscreen API
# ref-for-dom-document-exitfullscreen①
Fullscreen API
# ref-for-dom-element-requestfullscreen①
Fullscreen API
# dom-document-fullscreen

Совместимость с браузерами

Рабочие столы Мобильные устройства
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
END_OF_DOCUMENT_MARKER
Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
Fullscreen_API 7115 791212–14 64
9Перед Firefox 44, Firefox неправильно разрешал элементам внутри элемента <frame> или <object> запрос и предоставление полноэкранного режима. В Firefox 44 и выше это исправлено: только элементы в документе верхнего уровня или в элементе <iframe> с атрибутом allowfullscreen могут отображаться в полноэкранном режиме.
581512.1–15 16.45.1 7118 64
9Перед 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 загружаются только в браузере

См. также

  • Element.requestFullscreen()
  • Document.exitFullscreen()
  • Document.fullscreen
  • Document.fullscreenElement
  • :fullscreen, ::backdrop
  • allowfullscreen

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API