Страница 1 из 2

Возврат на сцену

Добавлено: Вт янв 17, 2017 10:49 pm
Anton_kulibin
Коллеги, вопрос. Нужно реализовать алгоритм, перехода на сцену по таймауту бездействия, т.е. если пользователь не работает со сценой период времени, перейти на другую сцену. Хотябы натолкните куда копать.

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 6:35 am
Akorolev
Делается по средствам JS. но там не будет считаться нажатие кнопок, вернее можно и сделать что бы считало но не знаю как, а вот тема для размышления:

Код: Выделить всё

<script language = 'javascript'>
  var delay = 60000;
  setTimeout("document.location.href='http://ссылка'", delay);
</script>
delay = 60000 - это 60 секунд. Т.е. получится так что если пользователь зашел на страницу - через 60 секунд его перебросит.

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 8:37 am
nick7zmail
clearTimeOut в начале дописать, обернуть в функцию, и на каждый элемент повесить её на onClick="func();" или как там это делается...
Прикол в том - что это делается в HTML... Как подцепить это к стандартным элементам (выключателям и т.п.) - это хз...если есть поле "Дополнительный javascript код" , тогда вообще без проблем....а есть оно или нет - не помню...

UPD: нашел, как повесить на любой клик $(window,document).on("click",function(){тут ваша функция});

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 9:33 am
lanket
nick7zmail писал(а):clearTimeOut в начале дописать, обернуть в функцию, и на каждый элемент повесить её на onClick="func();" или как там это делается...
Прикол в том - что это делается в HTML... Как подцепить это к стандартным элементам (выключателям и т.п.) - это хз...если есть поле "Дополнительный javascript код" , тогда вообще без проблем....а есть оно или нет - не помню...

UPD: нашел, как повесить на любой клик $(window,document).on("click",function(){тут ваша функция});
Практичная идея.

Подошёл, Побаловался, ушёл а МД вернулся на стартовую сцену.
Единственное что стартовые сцены могут быть разные в зависимости от назначения помещения. Например в холле это видео глазок, погода и общая инфа. А например в котельной состояние инженерии.....
Думаю имеет смысл этот функционал в виде опции поместить в настройках сцен.

Отправлено с моего Redmi Note 3 через Tapatalk

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 9:52 am
nick7zmail
Ну можно же в зависимости от терминала (вроде эту опцию можно из настроек вытянуть) выбирать "document.location.href='http://ссылка'"...только код при этом усложняется условиями))

А вообще да, неплохо бы было иметь это в стандартном арсенале) В таблицу терминалов добавить что-то типа home_url, и таймер запускать в заголовке default.html, apps.html, menu.html...и какие там еще варианты есть стартовых страниц)) (а не на конкретных сценах).

UPD: Кстати, так же эта опция (home_url в таблице терминалов) может быть полезна при открытии страницы....например я ввожу в браузерную строку IP-шник МД, если запрос идет с IP терминала, забитого в таблицу - открывается не default.html а сразу идет редирект на home_url конкретного терминала... нифига меня понесло))

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 12:02 pm
Anton_kulibin
Спасибо за наводку. Буду копать.

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 1:19 pm
nick7zmail
Anton_kulibin писал(а):Спасибо за наводку. Буду копать.
А че копать то?))уже почти готовый код привел....

Код: Выделить всё

$(window,document).on("click",function(){
   clearTimeout(mytimeout); 
   var delay = 60000;
   mytimeout=setTimeout("document.location.href='http://ссылка'", delay);
}); 
Создать элемент html на сцене, в javascript вписать, и тестить...не факт конечно, что заведется...мог со скобками напортачить или ещё что нить...проверить негде, писал вслепую))
На OnLoad страницы тоже её же можно повесить, на случай если не будет клика, а вернуться все равно надо.

Re: Возврат на сцену

Добавлено: Ср янв 18, 2017 4:36 pm
Anton_kulibin
Сделал не так, но работает. Добавил html элемент в нем

Код: Выделить всё

<script language = 'javascript'>
function reload (){
 clearTimeOut();
 }
 var delay = 600000;
  setTimeout("document.location.href='/popup/scenes/5.html'", delay);
 
  $(window,document).on("click",function(){reload()});
</script>
Протестил работает

Re: Возврат на сцену

Добавлено: Ср май 24, 2017 6:41 pm
AlexandrPrimes
Anton_kulibin писал(а):Сделал не так, но работает. Добавил html элемент в нем

Код: Выделить всё

<script language = 'javascript'>
function reload (){
 clearTimeOut();
 }
 var delay = 600000;
  setTimeout("document.location.href='/popup/scenes/5.html'", delay);
 
  $(window,document).on("click",function(){reload()});
</script>
Протестил работает
Здравствуйте! вы разобрались с возвратом на сцену если бездействие на протяжении какого - то времени?

Re: Возврат на сцену

Добавлено: Вт июн 19, 2018 1:03 pm
FredP
AlexandrPrimes писал(а):
Ср май 24, 2017 6:41 pm
Anton_kulibin писал(а):Сделал не так, но работает. Добавил html элемент в нем

Код: Выделить всё

<script language = 'javascript'>
function reload (){
 clearTimeOut();
 }
 var delay = 600000;
  setTimeout("document.location.href='/popup/scenes/5.html'", delay);
 
  $(window,document).on("click",function(){reload()});
</script>
Протестил работает
Здравствуйте! вы разобрались с возвратом на сцену если бездействие на протяжении какого - то времени?
Присоединяюсь к вопросу. Может, при любом нажатии на кнопки - обнулять (на базовое значение) таймер? В коде скрипта этот таймер указать. Или скрипт нужно будет перезапускать?