Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.03.2021, 12:22
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

FullScreen не срабатывает
Доброго времени суток.

Пишу приложение для Хром. Стартовая страница "Меню". Её задача - сориентировать пользователя какую страницу открыть второй по клику на "Вutton". А вот на этой (второй) странице есть кнопка "FullScreen", по клику переводящий страницу в полноэкранный режим.

Так вот: я хочу сделать так, чтобы по клику на "Вutton" вторая страница открывалась сразу в полноэкранном режиме.

Для этого написал так:

Код:
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>
	<link rel="stylesheet" href="styleSt.css"  />
  </head>
  <body>
	<div class = "menu">
		  <button class = "page"><h1>страница1</h1></button>
          <button class = "page"><h1>страница2</h1></button>
          <button class = "page"><h1>страница3</h1></button>
          <button class = "page"><h1>страница4</h1></button>
    </div>
    
    <script>
      let bd = document.querySelector ("body");
      let page = document.querySelectorAll(".lang");
	  for (let j = 0; j < 4; j++){
      page[j].addEventListener ("click", function() {	  
	      document.location.href = "index2.html";
          bd.requestFullscreen();
          let target = event.target;
          target.style.display = "none";
	  }) 
      };	  
    </script>
  </body>
</html>
Код работает наполовину. Новая страница открывается, но не в полноэкранном режиме.
В чём дело, где я ошибаюсь?
Ответить с цитированием
  #2 (permalink)  
Старый 12.03.2021, 12:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vahan60,
вторая строка скрипта.
if(document.location.href == "index2.html") bd.requestFullscreen();
Ответить с цитированием
  #3 (permalink)  
Старый 12.03.2021, 13:05
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Переписал.
Получилось следующее:
Код:
<script>
     
      let bd = document.querySelector ("body");
      let page = document.querySelectorAll(".lang");
	  for (let j = 0; j < 4; j++){
      page[j].addEventListener ("click", function() {	  
	   if(document.location.href == "index2.html") bd.requestFullscreen();
          bd.requestFullscreen();
          let target = event.target;
          target.style.display = "none";
	  }) 
      };	  
    
    </script>
Открывает в полноэкранном режиме, но не переходит на вторую страницу.
Ответить с цитированием
  #4 (permalink)  
Старый 12.03.2021, 13:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vahan60,
let bd = document.querySelector("body");
if (document.location.href == "index2.html") {
    bd.requestFullscreen();
}
let page = document.querySelectorAll(".lang");
for (let j = 0; j < 4; j++) {
    page[j].addEventListener("click", function() {
        document.location.href = "index2.html"
    })
};
Ответить с цитированием
  #5 (permalink)  
Старый 12.03.2021, 14:00
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Все равно фулскрин не работает.
Я даже максимально упростил страницу. Указал конкретную кнопку без перебора.

<script>
let bd = document.querySelector("body");
          if (document.location.href == "test2.html") {
             bd.requestFullscreen();
             }   

let page = document.querySelectorAll(".page");
        page[3].addEventListener("click", function() {
        document.location.href = "test2.html"
    });


    </script>


Все равно не получается.
Ответить с цитированием
  #6 (permalink)  
Старый 12.03.2021, 14:45
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Это максимально упрощенный код первой страницы:
Код:
<html>
  <head>
    <meta charset="UTF-8" />
    <title>TEST</title>
	
  </head>
  <body>

	<div class = "menu">
	  <button class = "page"><h1>страница1</h1></button>
          <button class = "page"><h1>страница2</h1></button>
          <button class = "page"><h1>страница3</h1></button>
          <button class = "page"><h1>страница4</h1></button>
         </div>
    
	<script>
	
      let bd = document.querySelector("body");
          if (document.location.href == "test2.html") {
             bd.requestFullscreen();
             };

	let page = document.querySelectorAll(".page");
        page[3].addEventListener("click", function() {
        document.location.href = "test2.html"
    });	
	
    </script>

  </body>
</html>
А это код второй страницы:

Код:
<html>
  <head>
    <meta charset="UTF-8" />
    <title>TEST2</title>
	
  </head>
  <body>

	<div class = "menu">
	  <button class = "page"><h1>страница1</h1></button>
          <button class = "page"><h1>страница2</h1></button>
          <button class = "page"><h1>страница3</h1></button>   
         </div>
    
  </body>
</html>
При клике на button "страница4" на странице "TEST" страница "TEST2" должна открыться в fullscreen режиме. Но открывается в стандартном режиме.
Почему?
Ответить с цитированием
  #7 (permalink)  
Старый 12.03.2021, 15:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vahan60,
потому что вторая страница не знает ни о каких кликах на первой странице.

Последний раз редактировалось рони, 12.03.2021 в 15:23.
Ответить с цитированием
  #8 (permalink)  
Старый 12.03.2021, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Vahan60,
это вниз на вторую страницу.
let bd = document.querySelector("body");
          
             bd.requestFullscreen();


это на первую
let page = document.querySelectorAll(".page");
        page[3].addEventListener("click", function() {
        document.location.href = "test2.html"
    });
Ответить с цитированием
  #9 (permalink)  
Старый 13.03.2021, 10:01
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Нее. Не хочет

Код:
<html>
  <head>
    <meta charset="UTF-8" />
    <title>TEST</title>
	
  </head>
  <body>
	<div class = "menu">
		  <button class = "page"><h1>страница1</h1></button>
          <button class = "page"><h1>страница2</h1></button>
          <button class = "page"><h1>страница3</h1></button>
          <button class = "page"><h1>страница4</h1></button>
    </div>
    
	<script>
	
	let page = document.querySelectorAll(".page");
        page[3].addEventListener("click", function() {
        document.location.href = "test2.html"
    });


    </script>

  </body>
</html>
Код:
<html>
  <head>
    <meta charset="UTF-8" />
    <title>TEST2</title>
	
  </head>
  <body>
	<div class = "menu">
		  <button class = "page"><h1>страница1</h1></button>
          <button class = "page"><h1>страница2</h1></button>
          <button class = "page"><h1>страница3</h1></button>
          
    </div>
    <script>
	
	let bd = document.querySelector("body");
             bd.requestFullscreen();

    </script>
  </body>
</html>
Еще и консоль ругается :

"test2.html:17 Failed to execute 'requestFullscreen' on 'Element': API can only be initiated by a user gesture.
(anonymous) @ test2.html:17"

"test2.html:17 Uncaught (in promise) TypeError: fullscreen error
at test2.html:17"
Ответить с цитированием
  #10 (permalink)  
Старый 13.03.2021, 10:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Vahan60
Еще и консоль ругается :
переход в полноэкранный режим, возможен только по выбору пользователя.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает error при отправке через ajax Julia1991 AJAX и COMET 11 03.08.2020 15:51
Таймер срабатывает раньше времени или вообще не срабатывает Terebonko Элементы интерфейса 6 03.08.2017 12:43
onclick срабатывает со 2 раза в ie djonA Общие вопросы Javascript 19 25.03.2013 01:07
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 13.11.2012 00:13
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 13:39