Function Reference


_IEDocInsertHTML

Inserts HTML Text in or around an element

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

Parameters

$oObject Object variable pointing to a document element.
$sString The string containing the HTML 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

The innerHTML, outerHTML, innerText and outerText features of _IEPropertySet() can be used to dynamically manipulate inserted content.

Related

_IEBodyReadHTML, _IEBodyWriteHTML, _IEDocInsertText, _IEDocReadHTML, _IEHeadInsertEventScript, _IEPropertyGet, _IEPropertySet

Example

Example 1

; Insert HTML at the top and bottom of a document

#include <IE.au3>

Local $oIE = _IECreate("http://www.autoitscript.com")
Local $oBody = _IETagNameGetCollection($oIE, "body", 0)
_IEDocInsertHTML($oBody, "<h2><font color=red>This HTML is inserted After Begin</font></h2>", "afterbegin")
_IEDocInsertHTML($oBody, "<h2><font color=red>This HTML is inserted Before End</font></h2>", "beforeend")

Example 2

; Open a browser with the basic example page, insert HTML
; in and around the DIV tag named "IEAu3Data" and display Body HTML

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

Local $oIE = _IE_Example("basic")
Local $oDiv = _IEGetObjById($oIE, "IEAu3Data")

_IEDocInsertHTML($oDiv, "<b>(HTML beforebegin)</b>", "beforebegin")
_IEDocInsertHTML($oDiv, "<i>(HTML afterbegin)</i>", "afterbegin")
_IEDocInsertHTML($oDiv, "<b>(HTML beforeend)</b>", "beforeend")
_IEDocInsertHTML($oDiv, "<i>(HTML afterend)</i>", "afterend")

MsgBox($MB_SYSTEMMODAL, "Body", _IEBodyReadHTML($oIE) & @CRLF)

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