ドキュメントのHeadにJavaScriptを挿入します。
#include <IE.au3>
_IEHeadInsertEventScript ( ByRef $o_object, $s_htmlFor, $s_event, $s_script )
パラメータ
$o_object | InternetExplorer.Applicationのオブジェクト変数、ウィンドウまたはフレームオブジェクト |
$s_htmlFor | イベントの監視をするHTML要素(e.g. "document"、"window" または要素ID) |
$s_event | 監視するイベント(e.g. "onclick"、"oncontextmenu") |
$s_script | 実行されるJavaScript文字列 |
返し値
成功: | 1を返します |
失敗: | 0を返し@ERRORを設定します |
@Error: | 0 ($_IEStatus_Success) = 正常終了 |
3 ($_IEStatus_InvalidDataType) = 無効なデータ型 | |
@Extended: | 無効なパラメータの番号が格納されています |
注意
ObjEventを使用すると、AutoItはCOM経由でイベント通知を受け取ることができますが、それらを非同期に管理します(ブラウザコンテキストで管理される際のように同期しません)。この仕組みを利用するとブラウザコンテキストで管理されるようにコードを挿入することができます。
関連
_IEDocInsertHTML, _IEPropertyGet, _IEDocInsertText
例
; *******************************************************
; 例 1 - 基礎的なサンプルページを使用してブラウザを開き、ドキュメントの冒頭に
; ドキュメントをクリックするとJavaScriptの警告が出るようにするイベントスクリプトを挿入
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("basic")
_IEHeadInsertEventScript ($oIE, "document", "onclick", "alert('Someone clicked the document!');")
; *******************************************************
; 例 2 - 基礎的なサンプルページを使用してブラウザを開き、ドキュメントの冒頭に
; ドキュメントを右クリックするとJavaScriptの警告が出るようにするイベントスクリプトを挿入
; 右クリックでコンテキストメニューが出ないようにするためにイベントスクリプトは"false"を返す
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("basic")
_IEHeadInsertEventScript ($oIE, "document", "oncontextmenu", "alert('No Context Menu');return false")
; *******************************************************
; 例 3 - 基礎的なサンプルページを使用してブラウザを開き、ドキュメントの冒頭に
; ページを移動する際に表示されるJavaScriptの警告を表示し、
; 処理キャンセルのオプションを提供する
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("basic")
_IEHeadInsertEventScript ($oIE, "window", "onbeforeunload", _
"alert('Example warning follows...');return 'Pending changes may be lost';")
_IENavigate($oIE, "www.autoitscript.com")
; *******************************************************
; 例 4 - 基礎的なサンプルページを使用してブラウザを開き、ドキュメントの冒頭に
; ドキュメント内のテキスト選択をできなくさせるイベントスクリプトを挿入
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example()
_IEHeadInsertEventScript ($oIE, "document", "ondrag", "return false;")
_IEHeadInsertEventScript ($oIE, "document", "onselectstart", "return false;")
; *******************************************************
; 例 5 - AutoItのホームページを使用してブラウザを開き、ドキュメントの冒頭に
; リンクのクリックによる移動をできなくさせ、
; コンソールにクリックしたリンクのURLを記録させるスクリプトを挿入する
; *******************************************************
;
#include <IE.au3>
$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