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
дозволяє зручно інтегрувати повноекранний режим для будь-якого елемента, підвищуючи якість взаємодії користувача із сайтом або застосунком.
Порада: | Не використовуйте повноекранний режим для нав’язливих елементів, як-от реклами. Користувачі можуть заблокувати його через безпекові налаштування браузера, тому важливо, щоб ця функція використовувалася лише для покращення користувацького досвіду. |
Порада: | Обробляйте помилки через |
Порада: | Щоб відстежити, коли користувач вийшов з повноекранного режиму, використовуйте подію |
Синтаксис
element.requestFullscreen();
Параметри
Return
Promise
Повертає
Promise
, який виконується (resolve) у разі успішного переходу в режим повного екрану або відхиляється (reject), якщо перехід не вдалося здійснити.
Переглядачі
Переглядач | |||||
---|---|---|---|---|---|
71 |
64 |
16.4 |
58 |
79 |
Переглядач | ||||
---|---|---|---|---|
71 |
71 |
64 |
16.4 |
Переглядач | ||
---|---|---|
- |
- |
Приклади
Цей код створює галерею з чотирьох зображень. Коли користувач натискає на будь-яке зображення, воно розширюється до повноекранного режиму. Користувач також може вийти з повноекранного режиму, натискаючи на зображення. Кнопка "Переглянути на весь екран" забезпечує додаткову можливість для запуску повноекранного режиму для обраного зображення.
Цей приклад демонструє, як перейти в повноекранний режим для відео за допомогою кнопки. Якщо перехід вдався, в консолі з’являється повідомлення про успіх. У разі помилки – відображається повідомлення про проблему.
const videoElement = document.getElementById("myVideo");
const fullscreenButton = document.getElementById("enterFullscreen");
fullscreenButton.addEventListener("click", () => {
videoElement.requestFullscreen().then(() => {
console.log("Відео в повноекранному режимі");
}).catch((error) => {
console.error("Не вдалося увімкнути повний екран:", error);
});
});
Цей приклад показує, як активувати повноекранний режим для галереї зображень. Під час роботи у повноекранному режимі текст кнопки змінюється на "Вийти з повного екрану". Якщо користувач вийде з повноекранного режиму, текст автоматично повертається на початковий.
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 = "Переглянути галерею на весь екран";
}
});