Insère du texte dans un élément ou autour d'un élément
#include <IE.au3>
_IEDocInsertText ( ByRef $oObject, $sString [, $sWhere = "beforeend"] )
$oObject | Variable objet qui pointe sur un élément du document. |
$sString | La chaîne de caractères contenant le texte à insérer. |
$sWhere | [optionnel] Spécifie le point d'insertion de la chaîne: "beforebegin" = Insère la chaîne immédiatement avant l'objet. "afterbegin" = Insère la chaîne après le début de l'objet mais avant tout autre contenu dans l'objet. "beforeend" = (par défaut) Insère la chaîne immédiatement avant la fin de l'objet, mais après tout autre contenu dans l'objet. "AfterEnd" = Insère la chaîne immédiatement après la fin de l'objet. |
Succès: | Retourne 1. |
Échec: | Retourne 0 et définit @error <> 0. |
@error: | 2 ($_IEStatus_COMError) - Erreur COM dans la référence d'un objet 3 ($_IEStatus_InvalidDataType) - Type de donnée invalide 4 ($_IEStatus_InvalidObjectType) - Type d'objet invalide 5 ($_IEStatus_InvalidValue) - Valeur invalide |
@extended: | Contient le nombre de paramètres invalides |
Dans le texte à insérer il y a des balises HTML, elles sont d'abord convertis afin qu'elles s'affichent sous forme de texte.
Les caractéristiques innerHTML, outerHTML, innerText et outerText de _IEPropertySet() peuvent être utilisées pour manipuler dynamiquement le contenu inséré.
_IEBodyReadHTML, _IEBodyWriteHTML, _IEDocInsertHTML, _IEDocReadHTML, _IEHeadInsertEventScript, _IEPropertyGet, _IEPropertySet
; Ouvre un navigateur avec la page exemple basique, insère du texte ; dans et autour la première balise Paragraph et affiche Body #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)
; Insère de l'HTML au début et à la fin du 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")
; Exemple avancé ; Insère une horloge et une chaîne de référence en haut de chaque page, même quand vous ; naviguez vers un nouveau site. Utilisez les fonctions _IEDocInsertText, _IEDocInsertHTML et ; _IEPropertySet de "innerhtml" and "referrer" #include <IE.au3> Global $g_oIE = _IECreate("http://www.autoitscript.com") AdlibRegister("UpdateStop", 1000) ; Mise à jour de l'horloge une fois par seconde Global $bStop = False While Not $bStop Sleep(10000) WEnd Exit Func UpdateStop() ; Met à jour aussi longtemps que la fenêtre du navigateur existe $bStop = Not WinExists(_IEPropertyGet($g_oIE, "hwnd")) If Not $bStop Then UpdateClock() EndFunc ;==>UpdateStop Func UpdateClock() Local $sCurTime = "<font color=red><b>Heure courante : </b>" & @HOUR & ":" & @MIN & ":" & @SEC & "</font>" ; _IEGetObjById devrait retourner une erreur NoMatch après navigation ; (avant que DIV soit inséré), aussi désactive temporairement les notification _IEErrorNotify(False) Local $oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock") If Not IsObj($oAutoItClock) Then ; Insère l'élément DIV s'il n'a pas été trouvé ; ; Obtient une référence sur BODY, insère DIV, obtient une référence sur DIV, met à jour l'horloge Local $oBody = _IETagNameGetCollection($g_oIE, "body", 0) _IEDocInsertHTML($oBody, "<div id='AutoItClock'></div>", "afterbegin") $oAutoItClock = _IEGetObjById($g_oIE, "AutoItClock") _IEPropertySet($oAutoItClock, "innerhtml", $sCurTime) ; ; Teste la chaîne de référence, si elle n'est pas vide l'insère après l'horloge _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) ; Met à jour l'horloge EndIf _IEErrorNotify(True) EndFunc ;==>UpdateClock