zaza41rus
@zaza41rus

Почему не срабатывает клик по кнопке через время?

Пытаюсь сделать > после прелодера срабатывал срабатывал клик по кнопке и страница переходила в полноэкранный режим
<button id="btn-click" onclick="toggleFullScreen();">btn</button>

document.addEventListener('DOMContentLoaded', function() { // когда весь HTML загружен

setTimeout(function() { // таймер-планировщик
  document.getElementById('btn-click').click(); // вызвать клик на кнопку
}, 2000); // через две секунды

});




// функция привязанная к клику на кнопку
function toggleFullScreen() {
  if ((document.fullScreenElement && document.fullScreenElement !== null) ||
   (!document.mozFullScreen && !document.webkitIsFullScreen)) {
    if (document.documentElement.requestFullScreen) {
      document.documentElement.requestFullScreen();
    } else if (document.documentElement.mozRequestFullScreen) {
      document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullScreen) {
      document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
    }
  } else {
    if (document.cancelFullScreen) {
      document.cancelFullScreen();
    } else if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
    } else if (document.webkitCancelFullScreen) {
      document.webkitCancelFullScreen();
    }
  }
}

// функция alert привязанная к клику на кнопку
// function toggleFullScreen() {
//   alert('I was pressed!');
// }


как только вешаешь toggleFullScreen перестает само работать (только по клику пользователя робит)
  • Вопрос задан
  • 572 просмотра
Решения вопроса 1
@inzeppelin
Зачем эмулировать нажатие на кнопку, если можно сделать так?

setTimeout(toggleFullScreen, 2000);

Но все равно, как выяснили ниже в комментариях,
Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture

Иначе, говоря, сделать это без клика невозможно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы