Fügt ein JavaScript innerhalb des <HEAD>-Abschnittes in das Dokument ein
#include <IE.au3>
_IEHeadInsertEventScript ( ByRef $oObject, $sHTMLFor, $sEvent, $sScript )
$oObject | Objekt Variable einer InternetExplorer.Application, eines Window- oder eines Frameobjekts. |
$sHTMLFor | Das HTML Element, für das das Ereignis überwacht werden soll (z.B. "document", "windows" oder eine Element-ID) |
$sEvent | Das Event, auf den das Skript reagieren soll (z.B. "onClick" oder "onContextMenu") |
$sScript | Auszuführendes Javascript |
Erfolg: | 1. |
Fehler: | 0 und setzt das @error Flag auf ungleich null. |
@error: | 2 ($_IEStatus_COMError) - COM Error in Objektreferenz 3 ($_IEStatus_InvalidDataType) - Ungültiger Datentyp |
@extended: | Beinhaltet Nummer des ungültigen Parameters |
Mit ObjEvent() wird AutoIt über Ereignisse via COM benachrichtigt. Diese werden aber asynchron und nicht wie im Browser synchron behandelt.
Diese Routine erlaubt es Code einzufügen, der innerhalb des Browserkontextes behandelt wird.
Es ist zu beachten, dass Elemente, die keine ID zugewiesen bekommen haben, mit ihrer "uniqueID"-Eigenschaft mit _IEPropertyGet() verwendet werden können.
_IEDocInsertHTML, _IEDocInsertText, _IEPropertyGet
#include <IE.au3>
; Öffnet einen Browser mit der Grundlagen-Beispiel-Seite.
; Fügt ein Event-Script in den Header des Dokuments ein, welches einen JavaScript-Alarm auslöst, wann immer auf das Dokument geklickt wird.
Local $oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "document", "onclick", "alert('Jemand hat auf das Dokument geklickt!');")
#include <IE.au3>
; Öffnet einen Browser mit der Grundlagen-Beispiel-Seite.
; Fügt ein Event-Script in den Header des Dokuments ein, welches einen JavaScript Alarm auslöst, wann immer auf das Dokument ein Rechtsklick ausgeführt wird.
; In diesem Fall soll das Event-Script "False" zurückgeben, um zu verhindern, dass das Rechtsklick-Kontextmenü aufgerufen wird.
Local $oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "document", "oncontextmenu", "alert('Kein Kontextmenü');return false")
#include <IE.au3>
; Öffnet einen Browser mit der Grundlagen-Beispiel-Seite,
; fügt ein Event-Script in den Header des Dokuments ein, welches einen JavaScript Alarm auslöst,
; wenn man die Seite verlassen will und die Möglichkeit des Abbruchs der Aktion anbietet.
$oIE = _IE_Example("basic")
_IEHeadInsertEventScript($oIE, "window", "onbeforeunload", _
"alert('Beispiel-Warnung folgt...');return 'Änderungen könnten verloren gehen!';")
_IENavigate($oIE, "www.autoit.de")
#include <IE.au3>
; Öffnet einen Browser mit der Grundlagen-Beispiel-Seite,
; Fügt ein Event-Script in den Header des Dokuments ein, welches verhindert, dass
; das Text in dem Dokument markiert werden kann
Local $oIE = _IE_Example()
_IEHeadInsertEventScript($oIE, "document", "ondrag", "return false;")
_IEHeadInsertEventScript($oIE, "document", "onselectstart", "return false;")
#include <IE.au3>
; Öffnet den Browser mit der AutoIt Homepage
; Fügt ein Event-Script in den Header des Dokuments ein, welches verhindert, dass
; ein angeklickter Link geladen wird und schreibt die URL des angeklickten Links in die Konsole
Opt("TrayIconDebug", 1)
Local $oIE = _IECreate("http://www.autoitscript.com")
Local $oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
Local $sLinkId = _IEPropertyGet($oLink, "uniqueid")
If @error Then Exit
_IEHeadInsertEventScript($oIE, $sLinkId, "onclick", "return false;")
If @error Then Exit
ObjEvent($oLink, "_Evt_")
Next
; wartet so lange bis das Browser-Fenster existiert
While WinExists(_IEPropertyGet($oIE, "hwnd"))
Sleep(100)
WEnd
Func _Evt_onClick()
Local $o_Link = @COM_EventObj
ConsoleWrite($o_Link.href & @CRLF)
EndFunc ;==>_Evt_onClick