Function Reference

_IEHeadInsertEventScript

ドキュメントの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経由でイベント通知を受け取ることができますが、それらを非同期に管理します(ブラウザコンテキストで管理される際のように同期しません)。この仕組みを利用するとブラウザコンテキストで管理されるようにコードを挿入することができます。

IDを割り当てられていない要素は_IEPropertyGetを使用して"uniqueID"プロパティを取得することによって使用できます。

 

関連

_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