# 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