Function Reference


_IEDocInsertText

Inserts Text in or around an element

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

Parameters

$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

Remarks

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.

Related

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

Example

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("http://www.autoitscript.com")

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

While 1
    Sleep(10000)
WEnd

Exit

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
    _IEErrorNotify(False)
    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
        _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) ; update time
    EndIf
    _IEErrorNotify(True)
EndFunc   ;==>UpdateClock