Помогите со скриптом.
Модератор: immortal
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Помогите со скриптом.
Прошу помощи у студии.
Нужно создать скрипт который сможет обновить конкретный DIV на конкретной странице.
например я хочу, чтоб при изменеии температуры на улице ow_fact.temperature запускался какой либо скрипт или метод и обновлял <div id="pogoda" > на страние default.html .
Как все сделать понятно, кроме тела самого скрипта.
<div id="pogoda" > обновляю постоянно с помощью скрипта :
<script type='text/javascript'>
setInterval(function(){
$("#pogoda").load("index.php #pogoda");
}, 60000);
</script>
Если нужно обновлять много дивов то страница явно напрягается, поэтому хочу запустить чтоб див обновлялся только при измнении переменной ow_fact.temperature
Помогите пожадуйста кто в этом разбирается и сможет помочь написать такой скрипт.
В нэте искал но не нашел ничего.
Заранее спасибо за любой ответ.
Нужно создать скрипт который сможет обновить конкретный DIV на конкретной странице.
например я хочу, чтоб при изменеии температуры на улице ow_fact.temperature запускался какой либо скрипт или метод и обновлял <div id="pogoda" > на страние default.html .
Как все сделать понятно, кроме тела самого скрипта.
<div id="pogoda" > обновляю постоянно с помощью скрипта :
<script type='text/javascript'>
setInterval(function(){
$("#pogoda").load("index.php #pogoda");
}, 60000);
</script>
Если нужно обновлять много дивов то страница явно напрягается, поэтому хочу запустить чтоб див обновлялся только при измнении переменной ow_fact.temperature
Помогите пожадуйста кто в этом разбирается и сможет помочь написать такой скрипт.
В нэте искал но не нашел ничего.
Заранее спасибо за любой ответ.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите со скриптом.
Очень жаль что никто не знает, или не хочет ...
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите со скриптом.
Так я метод запустить могу а что в методе написать?
Вот в чем проблема....
Вот в чем проблема....
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Помогите со скриптом.
В принципе тут возможны 2 вариантаadzam писал(а): ↑Пн апр 18, 2022 3:28 pmПрошу помощи у студии.
Нужно создать скрипт который сможет обновить конкретный DIV на конкретной странице.
например я хочу, чтоб при изменеии температуры на улице ow_fact.temperature запускался какой либо скрипт или метод и обновлял <div id="pogoda" > на страние default.html .
Как все сделать понятно, кроме тела самого скрипта.
<div id="pogoda" > обновляю постоянно с помощью скрипта :
<script type='text/javascript'>
setInterval(function(){
$("#pogoda").load("index.php #pogoda");
}, 60000);
</script>
Если нужно обновлять много дивов то страница явно напрягается, поэтому хочу запустить чтоб див обновлялся только при измнении переменной ow_fact.temperature
Помогите пожадуйста кто в этом разбирается и сможет помочь написать такой скрипт.
В нэте искал но не нашел ничего.
Заранее спасибо за любой ответ.
1. По таймеру запускать джаваскипт, который будет запрашивать через ajax нужное свойство и при его изменении менять то, что выводиться в диве
2. Использовать веб-сокеты - на страничке подписаться на обновления
СпойлерПоказать
Код: Выделить всё
<script type="text/javascript">
var httpRefreshTimer = 0;
var subscribedWebSockets=0;
var subscribedWebSocketsTimer;
var requestSent = Math.round(+new Date()/1000);
function subscribeToStatus() {
console.log('Sending devices subscription request...');
var payload;
payload = new Object();
payload.action = 'Subscribe';
payload.data = new Object();
payload.data.TYPE='events';
payload.data.EVENTS='TUSTATUS';
wsSocket.send(JSON.stringify(payload));
subscribedWebSocketsTimer=setTimeout('subscribeToStatus();', 3000);
return false;
}
$.subscribe('wsConnected', function (_) {
clearTimeout(httpRefreshTimer);
subscribeToStatus();
});
$.subscribe('wsData', function (_, response) {
if (response.action=='subscribed') {
console.log('Subscription to devices confirmed.');
clearTimeout(subscribedWebSocketsTimer);
subscribedWebSockets=1;
}
if (response.action=='events') {
var obj=jQuery.parseJSON(response.data);
var objCnt = obj.EVENT_DATA.VALUE.length;
if (obj.EVENT_DATA.VALUE.FIELD=='STATE') {
if (obj.EVENT_DATA.VALUE.VALUE==0) {
document.getElementById('tustate'+obj.EVENT_DATA.VALUE.ID).src='../templates/tuya/img/off-button.png';
} else {
document.getElementById('tustate'+obj.EVENT_DATA.VALUE.ID).src='../templates/tuya/img/on-button.png';
}
} else if (obj.EVENT_DATA.VALUE.FIELD=='ONLINE') {
var online_control=document.getElementById('tuonline'+obj.EVENT_DATA.VALUE.ID)
if (obj.EVENT_DATA.VALUE.VALUE==1) {
online_control.className="label label-success";
online_control.title="Online";
online_control.innerHTML="Online";
} else {
online_control.className="label label-warning";
online_control.title="Offline";
online_control.innerHTML="Offline";
}
}
}
});
</script>
Код: Выделить всё
processSubscriptions('TUSTATUS', array('FIELD' => 'ONLINE','VALUE' => $value,'ID' =>$device_id));
TUSTATUS - это название подписки, его надо поменять на своё
- Рейтинг: 1.16%
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите со скриптом.
Мне кажется это не то , этот скрипт проверяет и меняет картинку одну на другую а мне нужно чтоб див перезагрузился и показывал уже новое измененное значение.
Но все равно спасибо за ответ.
Мне кажется что сдесь нужен скрипт типа этого
<script type='text/javascript'>
setInterval(function(){
$("#pogoda").load("index.php #pogoda");
}, 60000);
</script>
но чтоб он не запускался сам через промежуток времени, а чтоб этот скрипт можно было бы запустить из метода,который запускается при изменении значения. Т. е. нужен скрипт который можно запустить дистанционно другой командой.
Я со скриптами слабо знаком поэтому не могу ничего придумать.
Но все равно спасибо за ответ.
Мне кажется что сдесь нужен скрипт типа этого
<script type='text/javascript'>
setInterval(function(){
$("#pogoda").load("index.php #pogoda");
}, 60000);
</script>
но чтоб он не запускался сам через промежуток времени, а чтоб этот скрипт можно было бы запустить из метода,который запускается при изменении значения. Т. е. нужен скрипт который можно запустить дистанционно другой командой.
Я со скриптами слабо знаком поэтому не могу ничего придумать.
Последний раз редактировалось adzam Пн апр 18, 2022 11:03 pm, всего редактировалось 1 раз.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
-
- Сообщения: 1554
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 39 раз
- Поблагодарили: 574 раза
Re: Помогите со скриптом.
Что именно будет делать js-скрипт при изменении - это будет зашито в самом скрипте, в данном случае там зашито изменение картинки, никто не мешает менять что-то в диве, примерно таким же образом - выбираем селектором нужный див и меняем в нём то что нужно - класс, innerhtml, цвета и т.д.
- Рейтинг: 1.16%
- adzam
- Сообщения: 602
- Зарегистрирован: Сб дек 08, 2012 10:28 pm
- Откуда: Кишинев
- Благодарил (а): 20 раз
- Поблагодарили: 138 раз
Re: Помогите со скриптом.
Да может быть,но к сожалению моих знаний не хватит чтоб переделать этот скрипт.
Поэтому и прошу помощи.
Поэтому и прошу помощи.
Мои проекты здесь...https://connect.smartliving.ru/profile/41/blog213.htm
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
Если вам помогло какое-либо мое сообщение - не ленитесь пользоваться кнопкой СПАСИБО.
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Помогите со скриптом.
%объект.свойство% при изменении самого свойства обновляется по веб сокетам и перегзагружает див в котором находится
хз что там тс хочет
хз что там тс хочет
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 2084
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 457 раз
Re: Помогите со скриптом.
https://mjdm.ru/forum/viewtopic.php?f=7&t=3379
читать, понимать, дефаулт.хтмл подписан на веб сокеты вроде б это проверить, но помню сцены в шабку засовывали
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо