JS метод Element.requestFullscreen()


Загальний опис

requestFullscreen — це метод, який використовується для активації повноекранного режиму для конкретного елемента на вебсторінці. Виклик цього методу робить вибраний елемент (наприклад, відео, зображення або контейнер) повноекранним, займаючи весь екран пристрою користувача. Ця функція часто використовується для відеоплеєрів, презентацій, слайдшоу тощо, щоб покращити сприйняття контенту без зайвих елементів сторінки.

Для активації повноекранного режиму необхідно викликати requestFullscreen на DOM-елементі, який ми хочемо відобразити у цьому режимі. Наприклад:

document.getElementById("myElement").requestFullscreen();

Цей код намагається зробити елемент з ідентифікатором myElement повноекранним. Оскільки повноекранний режим може бути нав’язливим для користувача, браузери вимагають, щоб requestFullscreen викликався лише в результаті взаємодії користувача (наприклад, натискання кнопки). Якщо метод викликається автоматично або без взаємодії, браузер заблокує цей запит.

Метод повертає об’єкт Promise, що дозволяє обробляти результат успішного перемикання або помилку. Наприклад:

element.requestFullscreen().then(() => {
  console.log("Повноекранний режим увімкнено");
}).catch((error) => {
  console.log("Помилка при перемиканні у повноекранний режим:", error);
});

Під час роботи у повноекранному режимі можна відстежувати зміни стану за допомогою подій fullscreenchange і fullscreenerror. Подія fullscreenchange викликається кожного разу, коли браузер переходить або виходить із повноекранного режиму, дозволяючи відповідним чином оновлювати інтерфейс.

Слід зауважити, що requestFullscreen підтримується не у всіх браузерах і може потребувати префіксів (webkitRequestFullscreen для Safari або mozRequestFullScreen для старих версій Firefox). Щоб забезпечити кросбраузерну підтримку, можна створити функцію:

function goFullscreen(element) {
  if (element.requestFullscreen) {
    element.requestFullscreen();
  } else if (element.webkitRequestFullscreen) {
    element.webkitRequestFullscreen();
  } else if (element.mozRequestFullScreen) {
    element.mozRequestFullScreen();
  }
}

Таким чином, requestFullscreen дозволяє зручно інтегрувати повноекранний режим для будь-якого елемента, підвищуючи якість взаємодії користувача із сайтом або застосунком.

автор: Bond

Порада

Не використовуйте повноекранний режим для нав’язливих елементів, як-от реклами. Користувачі можуть заблокувати його через безпекові налаштування браузера, тому важливо, щоб ця функція використовувалася лише для покращення користувацького досвіду.

автор: Bond
Порада

Обробляйте помилки через catch, оскільки у випадку блокування запиту браузером або інших помилок корисно надати повідомлення користувачу про недоступність функції або можливу помилку.

автор: Bond
Порада

Щоб відстежити, коли користувач вийшов з повноекранного режиму, використовуйте подію fullscreenchange. Це дозволяє динамічно оновлювати інтерфейс або приховувати непотрібні елементи після завершення повноекранного режиму.

автор: Bond

Синтаксис

element.requestFullscreen();

Повернення

Promise

Повертає Promise, який виконується (resolve) у разі успішного переходу в режим повного екрану або відхиляється (reject), якщо перехід не вдалося здійснити.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
71 64 16.4 58 79 11*
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
71 71 64 16.4*

Приклади

+ запропонувати свій приклад у пісочниці

Цей приклад показує, як активувати повноекранний режим для галереї зображень. Під час роботи у повноекранному режимі текст кнопки змінюється на "Вийти з повного екрану". Якщо користувач вийде з повноекранного режиму, текст автоматично повертається на початковий.

HTML

<img id="imageGallery" src="/img/logo.svg" width="100" alt="Демонстраційне зображення">
<div id="galleryFullscreen">Демонстраційний елемент</div>

JS

const gallery = document.getElementById("imageGallery");
const fullscreenButton = document.getElementById("galleryFullscreen");

fullscreenButton.addEventListener("click", () => {
  gallery.requestFullscreen()
    .then(() => {
      fullscreenButton.textContent = "Вийти з повного екрану";
    })
    .catch((error) => {
      alert("Повноекранний режим недоступний.");
      console.error(error);
    });
});

document.addEventListener("fullscreenchange", () => {
  if (!document.fullscreenElement) {
    fullscreenButton.textContent = "Переглянути галерею на весь екран";
  }
});
автор: Bond

Цей приклад демонструє, як перейти в повноекранний режим для відео за допомогою кнопки. Якщо перехід вдався, в консолі з’являється повідомлення про успіх. У разі помилки – відображається повідомлення про проблему.

HTML

<video id="myVideo" width="320" height="180" controls>
    <source src="film.mp4" type="video/mp4">
</video>
<div id="enterFullscreen">Демонстраційний елемент</div>

JS

const videoElement = document.getElementById("myVideo");
const fullscreenButton = document.getElementById("enterFullscreen");

fullscreenButton.addEventListener("click", () => {
  videoElement.requestFullscreen().then(() => {
    console.log("Відео в повноекранному режимі");
  }).catch((error) => {
    console.error("Не вдалося увімкнути повний екран:", error);
  });
});
автор: Bond

Цей код створює галерею з чотирьох зображень. Коли користувач натискає на будь-яке зображення, воно розширюється до повноекранного режиму. Користувач також може вийти з повноекранного режиму, натискаючи на зображення. Кнопка "Переглянути на весь екран" забезпечує додаткову можливість для запуску повноекранного режиму для обраного зображення.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід