_IEHeadInsertEventScript
Вставляет Javascript в заголовок (Head) документа
#include <IE.au3>
_IEHeadInsertEventScript(ByRef $o_object, $s_htmlFor, $s_event, $s_script)
Параметры
$o_object | Переменная объекта InternetExplorer.Application, объекта Окна или Фрейма (области) |
$s_htmlFor |
Элемент HTML для мониторинга событий (например "document", "window" или ID элемента) |
$s_event |
Событие для мониторинга (например "onclick" или "oncontextmenu") |
$s_script |
Строка Javascript, которая будет выполнена |
Возвращаемое значение
Успех: | Возвращает 1 |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 0 ($_IEStatus_Success) = Нет ошибок |
3 ($_IEStatus_InvalidDataType) = Неверный тип данных | |
@extended: | Содержит номер неверного параметра |
Примечания
Using ObjEvent, AutoIt is able to be notified of events via COM, but it manages them asynchronously (rather than synchronously as they are handled in the browser context). This routine allows you to inject code that is managed inside the browser context.См. также
_IEDocInsertHTML, _IEPropertyGet, _IEDocInsertTextПример
#include <IE.au3>
; ====================================
; Пример 1 - Открывает пример страницы "basic", вставляет
; скрипт событий в заголовок (head) страницы, которая создаёт
; уведомление JavaScript, когда кто-либо кликает на документе
; После запуска примера кликните на странице, чтобы увидеть сообщение
$oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "document", "onclick", "alert('Кто-то кликает на документе!');")
; ====================================
; Пример 2 - Открывает пример страницы "basic", вставляет
; скрипт событий в заголовок (head) страницы, которая создаёт
; уведомление JavaScript, когда кто-либо кликает правой кнопкой мыши на
; документе. И далее событие скрипта возвращает "false", чтобы
; предотвратить появление контекстного меню правой кнопкой мыши
$oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "document", "oncontextmenu", "alert('Нет контекстного меню');return false")
; ====================================
; Пример 3 - Открывает пример страницы "basic", вставляет
; скрипт событий в заголовок (head) страницы, которая создаёт
; уведомление JavaScript, когда вы собираетесь уйти со страницы
; и представляет возможность отменить операцию.
$oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "window", "onbeforeunload", _
"alert('Пример последующего предупреждения...');return 'В процессе действия изменения могут быть потеряны';")
_IENavigate($oIE, "www.autoitscript.com")
; ====================================
; Пример 4 - Открывает пример страницы "basic", вставляет
; скрипт событий в заголовок (head) страницы, которая
; предотвращает выделение текста в документе
$oIE = _IE_Example()
_IEHeadInsertEventScript($oIE, "document", "ondrag", "return false;")
_IEHeadInsertEventScript($oIE, "document", "onselectstart", "return false;")
; ====================================
; Пример 5 - Открывает страницу AutoIt, вставляет
; скрипт событий в заголовок (head) страницы, которая
; предотвращает навигацию,при любом клике на ссылке
; и отправляет кликнутые URL в консоль
$oIE = _IECreate("http://www.autoitscript.com")
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
$sLinkId = _IEPropertyGet($oLink, "uniqueid")
_IEHeadInsertEventScript($oIE, $sLinkId, "onclick", "return false;")
ObjEvent($oLink, "_Evt_")
Next
While 1
Sleep(100)
WEnd
Func _Evt_onClick()
Local $o_link = @COM_EventObj
ConsoleWrite($o_link.href & @CRLF)
EndFunc ;==>_Evt_onClick