Что нового

[Сеть, интернет] Как можно определить зависание страницы в IE ?

Houl777

Знающий
Сообщения
38
Репутация
5
Проблема: Иногда, время от времени, при загрузке происходит зависание страницы в IE (использую 7 версию). Причем вместе со страницей в подвешенном состоянии остается функция _IELoadWait (). Выставление таймеров в _IELoadWait () так же не помогает. Еще заметил, что вначале появляется пустое окно и статус окна Done, после того как на странице отобразится текст или графика уже срабатывает функция _IELoadWait ().

Требуется: Определить, что окно зависло и закрыть его.

Используемый скрипт:
Код:
WinWait ("GSFS","Windows Internet Explorer")
WinWaitActive ("GSFS","Windows Internet Explorer")
$LGmain = WinGetHandle ("GSFS","Windows Internet Explorer")
$1 = _IEAttach ($LGmain,"HWND")
_IELoadWait ($1)


Сайт: http://gsfs-eu.lge.com
 

axlwor

Скриптер
Сообщения
657
Репутация
147
потому что код страницы это загрузка js скрипта, который и начинает дальше действовать.
Отследить?
Переписывай _IELoadWait(), что бы при timeout делалось "refresh"
Топорно, но может и сработать.
 

vcomp71

Осваивающий
Сообщения
431
Репутация
25
Пошлите в окно комбинацию клавиш для вызова диалога открытия страницы, и если диалог не появился, то окно висит
что-то типа
Код:
Send("("^+O")
WinWaitActive("Открыть",,10)
 
Автор
H

Houl777

Знающий
Сообщения
38
Репутация
5
axlwor
Можно привести пример кода с "refresh" ?


Добавлено:
Сообщение автоматически объединено:

А понял. После окончания timeout можно выполнить _IEAction ("refresh").
 
Автор
H

Houl777

Знающий
Сообщения
38
Репутация
5
Переписал под себя функцию _IELoadWait ().

Пример из переписанной функции:
Код:
Switch ObjName($o_object)
		Case "IWebBrowser2"
			While Not (String($o_object.readyState) = "complete" Or $o_object.readyState = 4 Or $f_Abort)
				If (TimerDiff($IELoadWaitTimer) > $i_timeout) Then
					ConsoleWrite (TimerDiff($IELoadWaitTimer)&" 1")
					$o_object.document.execCommand("Refresh")
					$IELoadWaitTimer = TimerInit()
				EndIf
				Sleep(100)
			WEnd
; И так далее


При проверке работает с основными окнами сайта, но вот с диалоговыми окнами, которые вызываются средствами java script, работать не хочет.

Вопрос остается открытым :smile:
 
Верх