Что нового

зависание скрипта при клике, после которого выскакивает окно.

Shinoby

Новичок
Сообщения
80
Репутация
2
После клика на картинку - выпадает стандартное IEшное окно с вопросом "да-нет".
скрипт виснет гулхо. пробовал даже модифицировать библиотеку IE что бы понять где ступор, ведь функцию задавал правильно, что бы не ждать загрузки страницы. и все равно при клике - видимо что-то ожидается, чего нет.
Точнее сказать, клик осуществлялся, но функция подвисала и дальше скрипт не работал.
В результате не пошли варианты:
1)
Код:
_IEImgClick($oIE, "картинка.png", "src", 0, 0)

2)
Код:
$imagBeds = _IETagNameGetCollection ($oIE, "img")
For $imagBed In $imagBeds
	If StringInStr($imagBed.attributes.getNamedItem('src').nodeValue, 'картинка.png') Then  _IEAction($imagBed,"click")
Next


В результате решил вопрос только так:
Код:
$imagBeds = _IETagNameGetCollection ($oIE, "img")
For $imagBed In $imagBeds
	If StringInStr($imagBed.attributes.getNamedItem('src').nodeValue, 'картинка.png') Then
		MouseClick("left", _IEPropertyGet($imagBed, "screenx")+10, _IEPropertyGet($imagBed, "screeny")+10)
	EndIf
Next


Но работать это будет только если картинка находится в верхней части окна, в видимой. Эксперементы с прокруткой картинки в видмое состояние - не дали результата, так как параметры координаты не зависят от прокрутки.
И получается что самым 100% вариантом будет :
1) искать картинку по имени
2) сохранять на диск
3) скроллить в видмую часть
4) искать по совпадению картинки, находя координаты
5) кликать по ней.

Ужас! :shok: может быть есть выход? как заставить кликательные функция после клика сразу идти дальше не подвисать в ожидании чего то там?
 
АТ
S

Shinoby

Новичок
Сообщения
80
Репутация
2
насколько я могу понять: первое - совсем не то, второе вроде тоже.
проблема в том, что после того, как происходит клик - скрипт дальше не идет. я прекрасно могу закрыть всплывающее окно, если использую свой вариант для частного случая, но только как
Код:
MouseClick
IEшные клики - виснут :stars:

причем я переписал библиотеку и в ней же все стопорилось после
Код:
$img.click()
- ставил вывод сообщения - но оно не появилось.

пользую ИЕ8 в ХР
сам объект - картинка в таблице, не кнопка. код уже не могу привести (пока), случай не регулярный.
:'(надо было сохранить код страницы - не догадался сразу.
 
АТ
S

Shinoby

Новичок
Сообщения
80
Репутация
2
дурацкий вопрос: а возможно ли какимто штатный образом запускать паралельно несколько функций?

и как один из вариантов решения описанной проблемы: перед кликом - запускать другой скрипт, который будет ждать окно с соответствующим именем и закрывать его. Таким образом основной скрипт будет возвращаться к жизни.
 
Верх