Пример:
HTML:
1 |
<button id="fullscr"></button> |
JS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
let fullscreen; let fsEnter = document.getElementById('fullscr'); let fsEnterIn = "Войти в полноэкранный режим"; let fsEnterOut = "Выйти из полноэкранного режима"; fsEnter.innerHTML = fsEnterIn; fsEnter.addEventListener('click', function (e) { e.preventDefault(); if (!fullscreen) { fullscreen = true; document.documentElement.requestFullscreen(); fsEnter.innerHTML = fsEnterOut; } else { fullscreen = false; document.exitFullscreen(); fsEnter.innerHTML = fsEnterIn; } }); document.addEventListener("fullscreenchange", function() { if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight == screen.height)) { fullscreen = true; fsEnter.innerHTML = fsEnterOut; } else { fullscreen = false; fsEnter.innerHTML = fsEnterIn; } }); |
Оформление самой кнопки я приводить не стал, так как она должна вписываться непосредственно в дизайн сайта и скорее всего показываться иконкой, а не текстом.
А почему внутри сайта, при переходе по ссылке полноэкранный режим отключается?
А скрипт на всех страницах сайта ?
Если да, то ссылку надо, иначе не пойму в чем проблема
Делал для своих проектов функцию перехода в полный экран и обратно. Как у меня, так и здесь есть недостаток: если нажать на кнопку "Войти в полноэкранный режим", а потом выйти из него не по кнопке, а нажав на всплывающий сверху крестик или нажав на клавишу Escape, то надпись "Выйти иэ полноэкранного режима" так и останется. (У меня это были соответствующие иконки.) Есть ли решения по устранению этого недостатка? В одном скрипте (с закрытым кодом) видел, что решение есть. Пытался найти самостоятельно или искать решение в Интернете - ничего мои поиски не дали.
Дополню. То же, если выйти из полноэкранного режима при поможи контекстного меню на правой клавиши мыши.
Поправил JS, проверьте.
Спасибо!
Возможно ли доработать инструмент для мобильных устройств?
Если да, будет ли это добавлено?
Будет ли работать с фреймами?
Он работает на мобильном.
С фреймами тоже должно, это JS функция requestFullscreen
Можете поискать про нее информацию.