Fügt Text in oder um ein Element herum ein
#include <IE.au3>
_IEDocInsertText ( ByRef $oObject, $sString [, $sWhere = "beforeend"] )
$oObject | Objektvariable, die auf ein Dokument verweist |
$sString | Die Variable enthält den einzufügenden Text |
$sWhere | [optional] Gibt an, wo der Text eingefügt werden soll "beforebegin" = Fügt den String unmittelbar vor dem Objekt ein. "afterbegin" = Fügt den String nach dem Anfang des Objekts, jedoch vor dem anderen Inhalt des Objekts ein. "beforeend" = (Standard) Fügt den String unmittelbar vor dem Ende des Objekts, jedoch nach dem anderen Inhalt des Objekts ein. "afterend" = Fügt den String unmittelbar nach dem Objekt ein. |
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 4 ($_IEStatus_InvalidObjectType) - Ungültiger Objekttyp 5 ($_IEStatus_InvalidValue) - Ungültiger Wert |
@extended: | Beinhaltet Nummer des ungültigen Parameters |
Enthält der einzufügende Text HTML-Tags, werden diese zunächst umgewandelt, um als Text angezeigt zu werden.
Mit den _IEPropertySet()-Eigenschaften innerHTML, outerHTML, innerText und outerText kann der einzufügende Inhalt dynamisch geändert werden.
_IEBodyReadHTML, _IEBodyWriteHTML, _IEDocInsertHTML, _IEDocReadHTML, _IEHeadInsertEventScript, _IEPropertyGet, _IEPropertySet
#include <IE.au3>
#include <MsgBoxConstants.au3>
; Öffnet eine Beispiel-Seite mit der Bezeichnung "basic" in einem Browser, fügt Text ein in und um den ersten "Paragraph tag" und zeigt den HTML Body-Text.
Local $oIE = _IE_Example("basic")
Local $oP = _IETagNameGetCollection($oIE, "p", 0)
_IEDocInsertText($oP, "(Text beforebegin)", "beforebegin")
_IEDocInsertText($oP, "(Text afterbegin)", "afterbegin")
_IEDocInsertText($oP, "(Text beforeend)", "beforeend")
_IEDocInsertText($oP, "(Text afterend)", "afterend")
MsgBox($MB_SYSTEMMODAL, "Body", _IEBodyReadHTML($oIE) & @CRLF)
#include <IE.au3>
; Fügt am Anfang und am Ende des Dokuments HTML-Text ein.
Local $oIE = _IE_Example("basic")
Local $oBody = _IETagNameGetCollection($oIE, "body", 0)
_IEDocInsertText($oBody, "Dieser Text wird eingefügt 'After Begin'", "afterbegin")
_IEDocInsertText($oBody, "Beachte, dass <b>Tags</b> <codiert> werden, bevor sie angezeigt werden!", "beforeend")
#include <IE.au3>
; Erweitertes Beispiel
; Fuegt eine Uhr und einen Herkunft-String im Kopfbereich ein. Diese bleiben auch beim Weiterbrowsen auf jeder Folgeseite erhalten.
; Benutzt _IEDocInsertText, _IEDocInsertHTML und
; _IEPropertySet Funktionen "innerhtml" und "referrer"
Global $g_oIE = _IECreate("http://www.autoitscript.com")
AdlibRegister("UpdateClock", 1000) ; Uhren-Update einmal pro Sekunde
While 1
Sleep(10000)
WEnd
Exit
Func UpdateClock()
; wartet bis das Browser-Fenster existiert
If Not WinExists(_IEPropertyGet($g_oIE, "hwnd")) Then Exit
Local $sCurTime = "<font color=red><b>Aktuelle Zeit ist: </b>" & @HOUR & ":" & @MIN & ":" & @SEC & "</font>"
; _IEGetObjById soll nach der Navigation einen "NoMatch"-Fehler zurückgeben
; (bevor DIV eingefügt wird), deshalb wird die Benachrichtigung vorübergehen abgeschaltet
_IEErrorNotify(False)
Local $oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock")
If Not IsObj($oAutoItClock) Then ; Fügt DIV-Element ein, falls es nicht gefunden wurde
;
; Holt Referenz zu BODY, fügt DIV ein, holt Referenz zu DIV, aktualisiert die Zeit
Local $oBody = _IETagNameGetCollection($g_oIE, "body", 0)
_IEDocInsertHTML($oBody, "<div id='AutoItClock'></div>", "afterbegin")
$oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock")
_IEPropertySet($oAutoItClock, "innerhtml", $sCurTime)
;
; Überprüft den Herkunft-String. Ist dieser nicht leer, fügt er ihn nach der Uhr ein
_IELoadWait($g_oIE)
Local $sReferrer = _IEPropertyGet($g_oIE, "referrer")
If $sReferrer Then _IEDocInsertText($oAutoItClock, _
" Referred by: <font color=red>" & $sReferrer & "</font>", "afterend")
Else
_IEPropertySet($oAutoItClock, "innerhtml", $sCurTime) ; Aktualisiert die Zeit
EndIf
_IEErrorNotify(True)
EndFunc ;==>UpdateClock