Функция _IEDocInsertText

 ↑  ←  Описание функции


_IEDocInsertText

Вставляет текст внутрь или снаружи элемента.

#include <IE.au3>
_IEDocInsertText(ByRef $o_object, $s_string [, $s_where = "beforeend"])

Параметры

$o_object Переменная объекта, указывающей на элемент документа.
$s_string Вставляемая строка.
$s_where [необязательный] Указывает место вставки строки
beforebegin = Вставляет строку непосредственно перед объектом.
afterbegin = Вставляет строку после начала объекта, но перед всем содержимым в объекте.
beforeend = (по умолчанию) Вставляет строку непосредственно перед концом объекта, но после всего содержимого в объекте.
afterend = Вставляет строку непосредственно после конца объекта.

Возвращаемое значение

Успех:Возвращает 1
Ошибка:Возвращает 0 и устанавливает @error
@error:0 ($_IEStatus_Success) = Нет ошибок
3 ($_IEStatus_InvalidDataType) = Неверный тип данных
4 ($_IEStatus_InvalidObjectType) = Неверный тип объекта
5 ($_IEStatus_InvalidValue) = Неверное значение
@extended:Содержит номер неверного параметра

Примечания

Вставляемый текст, содержащий HTML-теги преобразуется в спец-символы и будут отображаться как обычный текст. Свойства innerHTML, outerHTML, innerText и outerText функции _IEPropertySet() могут быть использованы для динамической манипуляции вставляемым содержимым.

См. также

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

Пример

#include <IE.au3>

; ======================================
; Пример 1 - Вставляет текст внутрь или снаружи первого тега <p> </p> и отображает HTML
Local $oIE = _IE_Example("basic") ; Открывает браузер с базовым примером
Local $oP = _IETagNameGetCollection($oIE, "p", 0)

_IEDocInsertText($oP, "(Текст перед началом)", "beforebegin")
_IEDocInsertText($oP, "(Текст после начала)", "afterbegin")
_IEDocInsertText($oP, "(Текст перед концом)", "beforeend")
_IEDocInsertText($oP, "(Текст после конца)", "afterend")
MsgBox(0, 'Вставлено рядом с <p>', _IEBodyReadHTML($oIE))
; ConsoleWrite(_IEBodyReadHTML($oIE) & @CRLF)

; ======================================
; Пример 2 - Вставляет в HTML в верхнюю и нижнюю части документа
#include <IE.au3>

$oIE = _IE_Example("basic")
Local $oBody = _IETagNameGetCollection($oIE, "body", 0)
_IEDocInsertText($oBody, "Этот текст вставлен после начала", "afterbegin")
_IEDocInsertText($oBody, "Обратите внимание, что <b>Теги</b> являются <кодированными> после отображаемого", "beforeend")
MsgBox(0, 'Сообщение', _IEBodyReadHTML($oBody))

; ======================================
; Пример 3 - Продвинутый пример
;       Вставляет часы и referrer строку в верхнюю часть каждой страницы, даже при
;       просмотре в новой location.  Использует _IEDocInsertText, _IEDocInsertHTML и
;       _IEPropertySet со свойствами "innerhtml" и "referrer"

#include <IE.au3>

$oIE = _IECreate("http://www.autoitscript.com")

AdlibRegister("UpdateClock", 1000) ; Обновляет часы один раз в секунду

; ожидание, пока окно браузера существует
While WinExists(_IEPropertyGet($oIE, "hwnd"))
    Sleep(10000)
WEnd

Exit

Func UpdateClock()
    Local $curTime = "<b>Текущее время: </b>" & @HOUR & ":" & @MIN & ":" & @SEC
    ; _IEGetObjByName is expected to return a NoMatch error after navigation
    ;   (before DIV is inserted), so temporarily turn off notification
    _IEErrorNotify(False)
    Local $oAutoItClock = _IEGetObjByName($oIE, "AutoItClock")
    If Not IsObj($oAutoItClock) Then ; Вставляет DIV-элемент, если он не был найден

        ; Получает объект-ссылку на BODY, вставляет DIV, получает объект-ссылку на DIV, обновляет время
        Local $oBody = _IETagNameGetCollection($oIE, "body", 0)
        _IEDocInsertHTML($oBody, "<div id='AutoItClock'></div>", "afterbegin")
        $oAutoItClock = _IEGetObjByName($oIE, "AutoItClock")
        _IEPropertySet($oAutoItClock, "innerhtml", $curTime)

        ; Check referrer string, if not blank insert after clock
        _IELoadWait($oIE)
        Local $sReferrer = _IEPropertyGet($oIE, "referrer")
        If $sReferrer Then _IEDocInsertText($oAutoItClock, _
                "  Referred by: " & $sReferrer, "afterend")
    Else
        _IEPropertySet($oAutoItClock, "innerhtml", $curTime) ; Обновляет время
    EndIf
    _IEErrorNotify(True)
EndFunc   ;==>UpdateClock