Что нового

Зависание скрипта после _IEAction если появляется msgbox от IE.

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
В Браузерной игрушке Moswar. Есть список контактов и чтобы удалить контакт есть кнопка [удалить] и через _IEAction идет клик. срабатывает JS и выдает msgbox (С просьбой подтвердить удаление). После _IEAction код не исполняется пока не закроешь тот самый msgbox.

Кусок рабочего кода.
Код:
....
$msgbox_title="Сообщение с веб-страницы"
....
				_IEAction($oLink, "click")
				IF WinExists($msgbox_title,"") Then
					ControlClick($msgbox_title,"","[CLASS:1; ID:1]")
;~					ControlSend($msgbox_title,"","[CLASS:1; ID:1]","{ENTER}")
				EndIf
....

HTML-код кнопки. (Кнопок на странице порядка 40...)

Код:
<span class="button"><a class="f" href="javascript:phoneConfirmDeleteContact('tischka','323509',%20'contact');"><i class="rl"></i><i class="bl"></i><i class="brc"></i><div class="c">Удалить</div></a></span>
Возможно ли обойти паузу без костылей?

Пока придумал.
1. Юзать Send/ControlSend. Но штука получится не особо надежная. + хочется использовать только _IE...
2. 2-й скрипт который запускается параллельно с 1-м и отслеживает эти окошки и убивает. :smile:
3. Запускать непосредственно перед _IEAction второй скрипт который будет ждать этот msgbox.

P.S. Могу создать тестовый аккаунт с тестовым кодом, чтобы симулировать проблему. Надо? :smile:
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
zlo-kazan,
Я пользуюсь вариантом 2. или 3., например при загрузке файлов на обменник через IE.
 
Автор
zlo-kazan

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
madmasles
Хм... может тогда в "Баг-репорты" оформить? :scratch:

OffTopic:
Эх многопоточность бы Autoit... :smile:
 

SemEMP

Знающий
Сообщения
42
Репутация
7
Но всё же вопрос актуальный, решения запуска второго окна кликера - не есть хорошее решение! :-\

У меня решение получше, почитал в справке есть очень интересные функции, а именно
Код:
_IEDocWriteHTML

Тоесть ею можно переделать кусок кода отвечающего за сообщение со страницы типа
Код:
<form>
<a href=#top onClick="return window.confirm('Do you wona to jump?');">перехода</a> 
</form>
И затем нажать на фунцию минуя скрипт
 
Верх