Полноэкранный режим на сайте?

Хочу реализовать на своем сайте полноэкранный режим, использую такой подход:

document.addEventListener('click', function (event) {

   // игнорирование событий, которые произошли не на данной кнопке
   if (!event.target.hasAttribute('data-toggle-fullscreen')) return;

   // если элемент уже в полноэкранном режиме, выйти из него
   // В противном случае войти в полный экран
   if (document.fullscreenElement) {
    document.exitFullscreen();
   } else {
    document.documentElement.requestFullscreen();
   }

  }, false);


Но проблема в том что при нажатии на любую ссылку сайт выходит из этого режима, что не есть удобно. Подскажите, как исправить это?
  • Вопрос задан
  • 182 просмотра
Пригласить эксперта
Ответы на вопрос 2
By_Engine
@By_Engine
Вам нужно запретить всплытие события
Ответ написан
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Проблема в том, что при переходе по ссылке документ, на котором вызван фулскрин, перестает существовать, а вместо него формируется новый, и при этом происходит выход из фулскрина.
Решения тут я вижу два:
1. Костыльное. Кроме документа фулскринить еще можно video и iframe, и iframe может тут помочь, так как он останется неизменным, сколько бы страниц в него не загружалось.
2. Сложное. Можно переделать сайт в SPA, тогда настоящих переходов не будет, и все страницы будут работать в пространстве одного документа
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы