Function Reference


Inserts Text in or around an element

#include <IE.au3>
_IEDocInsertText ( ByRef $oObject, $sString [, $sWhere = "beforeend"] )


$oObject Object variable pointing to a document element.
$sString The string containing the text to insert.
$sWhere [optional] specifies the string insertion point
    "beforebegin" = Inserts string immediately before the object.
    "afterbegin" = Inserts string after the start of the object but before all other content in the object.
    "beforeend" = (Default) Inserts string immediately before the end of the object but after all other content in the object.
    "afterend" = Inserts string immediately after the end of the object.

Return Value

Success: 1.
Failure: 0 and sets the @error flag to non-zero.
@error: 2 ($_IEStatus_COMError) - COM Error in Object reference
3 ($_IEStatus_InvalidDataType) - Invalid Data Type
4 ($_IEStatus_InvalidObjectType) - Invalid Object Type
5 ($_IEStatus_InvalidValue) - Invalid Value
@extended: Contains invalid parameter number


In the text to be inserted includes HTML tags, they are first converted so that they display as text.
The innerHTML, outerHTML, innerText and outerText features of _IEPropertySet() can be used to dynamically manipulate inserted content.


_IEBodyReadHTML, _IEBodyWriteHTML, _IEDocInsertHTML, _IEDocReadHTML, _IEHeadInsertEventScript, _IEPropertyGet, _IEPropertySet


Example 1

; Open a browser with the basic example page, insert text
; in and around the first Paragraph tag and display Body HTML

#include <IE.au3>
#include <MsgBoxConstants.au3>

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)

Example 2

; Insert HTML at the top and bottom of a document

#include <IE.au3>

Local $oIE = _IE_Example("basic")
Local $oBody = _IETagNameGetCollection($oIE, "body", 0)
_IEDocInsertText($oBody, "This Text is inserted After Begin", "afterbegin")
_IEDocInsertText($oBody, "Notice that <b>Tags</b> are <encoded> before display", "beforeend")

Example 3

; Advanced example
; Insert a clock and a referrer string at the top of every page, even when you
; browse to a new location.  Uses _IEDocInsertText, _IEDocInsertHTML and
; _IEPropertySet features "innerhtml" and "referrer"

#include <IE.au3>

Global $g_oIE = _IECreate("")

AdlibRegister("UpdateClock", 1000) ; Update clock once per second

While 1


Func UpdateClock()
    ; update as long as the browser window exists
    If Not WinExists(_IEPropertyGet($g_oIE, "hwnd")) Then Exit

    Local $sCurTime = "<font color=red><b>Current Time is: </b>" & @HOUR & ":" & @MIN & ":" & @SEC & "</font>"
    ; _IEGetObjById is expected to return a NoMatch error after navigation
    ;   (before DIV is inserted), so temporarily turn off notification
    Local $oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock")
    If Not IsObj($oAutoItClock) Then ; Insert DIV element if it wasn't found
        ; Get reference to BODY, insert DIV, get reference to DIV, update time
        Local $oBody = _IETagNameGetCollection($g_oIE, "body", 0)
        _IEDocInsertHTML($oBody, "<div id='AutoItClock'></div>", "afterbegin")
        $oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock")
        _IEPropertySet($oAutoItClock, "innerhtml", $sCurTime)
        ; Check referrer string, if not blank insert after clock
        Local $sReferrer = _IEPropertyGet($g_oIE, "referrer")
        If $sReferrer Then _IEDocInsertText($oAutoItClock, _
                "  Referred by: <font color=red>" & $sReferrer & "</font>", "afterend")
        _IEPropertySet($oAutoItClock, "innerhtml", $sCurTime) ; update time
EndFunc   ;==>UpdateClock