Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Обработка разрыва связи


Автор: Neuronix 28.9.2006, 13:26
У меня есть окно с n-количеством фреймов... Окно должно постоянно обновляться, но пару раз в сутки связь обрывается на несколько минут. Можно ли как-то средствами JavaScript обрабатывать обрыв соединения? Типа выводить алерт после невозможности получения данных с сервера, где по нажатию на него, обновлялась бы страница и если связи до сих пор нет, то алерт выскакивал бы снова... В принципе, это моя идея... Может быть как-то возможно это реализовать и по другому...
Подскажете, как решить?

Автор: 12345c 28.9.2006, 16:21
Ловить незагрузку, по идее, нужно через document.onreadystatechange анализом параметра document.status .

http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events/onreadystatechange.asp
http://www.devguru.com/Technologies/xmldom/quickref/document_onreadystatechange_event.html

Автор: dstorm81 28.9.2006, 18:05
или как вариант, в загружаемых доках в конце ставить переменную, а через главный фрейм обходить их

Автор: Neuronix 28.9.2006, 18:51
А как это можно реализовать практически?

Автор: 12345c 28.9.2006, 21:27
Сделать, наверное (какие ещё способы бывают?).

Автор: Neuronix 28.9.2006, 22:50
Я к сожалению, не знаю javascript должным образом... Мой удел perl =) А с javascript пришлось столкнуться нос к носу, т.к. без него необходимую мне задачу только средствами perl решить будет невозможно... 

Можеть быть, где-то есть похожий код? Мне бы просто хотя-бы похожий пример, дальше, думаю, смогу разобраться сам. Спасибо.

Автор: Neuronix 3.10.2006, 11:37
Что, никто не сталкивался?

Автор: Sardar 4.10.2006, 20:37
Neuronix, соединение = чего то посылаем/получаем. Получать можно JS код. Пусть при каждом обновлении кидать <script>lagTest(таймстемп)</script>. Твой скрипт ожидает этих уведомлений, как только их не приходить порядочное количество (провалились 3-5 перезагрузок), значит коннект оборван. Таймстамп удобен что бы высчивать интервал и показывать юзеру, например картинокй, что будет всё ярче, чем дольше лаг.

Если физически коннект не прерываеться, то каждые 2-3 секунды тебе по любому нужно пару пробелов отослать, точно таким же метогом отсылай вызов JS функции.

Это простейший, кроссплатформенный способ, ИМХО лучше чем IE only ловить события onreadystatechange на документе (лиса разве поддерживает?).

Писать скрипт за тебя здесь никто не будет (не от вредности, просто нет времени smile ), начни, поможем. Можешь также разместить заявку в разделе работа, если самому писать лень.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)