26.07.2011, 04:36 | #1 |
Вредина
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 437
|
js - помогите поправить скрипт
Суть:
Есть приложение (локальное), работает на движке IE, нужно IE-кой проверить состояние сети, для это в IE подгружается файл index.html: 1. На удаленный сервер кидаю скрипт status.js, следующего содержания: Код HTML:
var no = 'oke'; Код HTML:
<div id='status' onclick="imports('http://test.ru/core/v/status.js'); setTimeout('check()',3000);">----</div> <script type='text/javascript'> var no = undefined; function imports(src){ var ms = new Date().getTime().toString(); var scriptElem = document.createElement('script'); scriptElem.setAttribute('src',src + '?' + ms); scriptElem.setAttribute('type','text/javascript'); document.getElementsByTagName('head')[0].appendChild(scriptElem); alert(src + '?' + ms); } function check(){ if(no!=undefined){ // проверяем изменилась ли переменная no в результате подгрузки внешнего файла, в котором так же объявлена переменная no document.getElementById('status').innerHTML=' Статус сети: <font color="green"><span class="ico_check">On-line</span></font> '; // дописываем в div благополучный результат таймаута; } else{ document.getElementById('status').innerHTML=' Статус сети: <font color="red"><span class="ico_off">OffLine</span></font> '; // дописываем в div отрицательный результат таймаута; } } setTimeout('check()',3000); // устанавливаем таймаут в 3 секунды для вызова по умолчанию //--> </script> Вот эта шляпа работает как нужно! alert(src + '?' + ms); Но, переменная "no" из подгруженного вновь файла - не обновляется, может кто посоветует как разрулить? Точнее обновляется но только 1 раз. Например: статус при загрузке странички OffLine (файл /status.js убрал). Сую файл на место, делаю клик по div - статус меняется на On-Line, дальнейшая манипуляция с status.js - статус не меняет, хотя видно, что DIV реплейсится, очевидно переменная "no" не меняется В общем задача без перезагрузки странички проверить состояние сети и вывести в DIV. Cостояние проверяется путем загрузки удаленного файла js который содержит переменную на которую локальная часть скрипта должна реагировать. Можно конечно на аяксе нарисовать, но не хочется подключать левые либы. Пожалуйста, задайте нужный вектор пендулю
__________________
Последний раз редактировалось Jooz; 26.07.2011 в 04:42. |
26.07.2011, 13:05 | #3 |
Мастер
Регистрация: 29.05.2007
Сообщений: 525
Вес репутации: 235
|
может кеш?
?random=random
__________________
|
26.07.2011, 13:16 | #4 |
Вредина
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 437
|
Не, не кэш:
var ms = new Date().getTime().toString(); scriptElem.setAttribute('src',src + '?' + ms);
__________________
|
26.07.2011, 14:16 | #5 |
Мастер
Регистрация: 29.05.2007
Сообщений: 525
Вес репутации: 235
|
а. не заметил, сорь.
может надо imports из check вызывать? таймаут-то только на чек прописан, а импортс один раз на странице вызвался при клике и все
__________________
|
26.07.2011, 15:08 | #6 |
Вредина
Регистрация: 03.07.2007
Адрес: д.Коноплянка
Сообщений: 3,535
Вес репутации: 437
|
Пришлось слона подтянуть:
Код HTML:
function Push() { $.ajax({ url: "core/lan.php", cache: false, success: function(html){ $("#pushstatus").html(html); if ( html == 0) { $("#push").html("Статус сети: <font color='red'><span class='ico_off'>Off-Line</span></font>"); $('#Div').hide(); $('#Div_info').show(); } else { $("#push").html("Статус сети: <font color='green'><span class='ico_check'>On-line</span></font> "); $('#Div').show(); $('#Div_info').hide(); } var PushStatus = html; } }); } $(document).ready(function(){ Push(); setInterval('Push()',1000); });
__________________
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поправить/переделать верстку сайта | Inferno | Деловое сотрудничество | 4 | 20.05.2010 23:12 |
Поправить php код в шаблон joomla | slr | Разработка и сопровождение сайтов | 1 | 03.10.2009 22:46 |
Надо поправить скин на IPB. Оплату гарантирую. | Deadman_n | Курилка | 0 | 08.05.2009 09:22 |
Нужно поправить скрипт | happsihh | Разработка и сопровождение сайтов | 0 | 24.02.2009 13:56 |
Часовой пояс GMT +3, время: 21:43.