как узнать что окно браузера в полноэкранном режиме
сама суть задачи в следующем: есть модалка, которая должна появляться, если окно браузера не в полноэкранном режиме, перейти же в этот режим можно по кнопке в этой модалке или же на f11 (если мы на пк сидим соответственно); если режим активировать, то модалка исчезает
все эти Fullscreen API какое то д***мо, ибо работают только, если сделать активацию через кнопку, но если же нажать через f11, то никакой метод уже не может ничего уловить... через @media all and (display-mode: fullscreen) тоже вроде бы работает, но только на пк, а на телефоне ничего не происходит... может есть какая-нибудь библиотека? или всё гораздо легче? или вообще это не решаемо?... памагите(
Ответы (2 шт):
window.onresize = function(){
if(window.innerHeight == screen.height){
mymodal.hidden = true;
// или так:
mymodal.style.display = "none";
}
}
Не понимаю к чему все эти трюки с высотой и со всеми, поэтому напишу самый стандартный и рабочий вариант.
/**
* Фукнция подгоняет какой-нибудь элемент в полноэкранный режим
* @param {Element?} element
* @returns {Promise<void>}
*/
function setFullscreen(element) {
return (element === null)
? document.exitFullscreen()
: element.requestFullscreen();
}
/**
* Функция возвращяет элемент в полноэкранном режиме
* @returns {Element?}
*/
function getFullscreen() {
return document.fullscreenElement;
}
/**
* Функция проверяет наличие какого-нибудь элемента в полноэкранном режиме
* @returns {boolean}
*/
function isFullscreen() {
return document.fullscreenElement !== null;
}