PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → ActiveX Navigateur Web
ActiveX Navigateur Web
Débuté par p.rodriguez, 08 déc. 2004 10:33 - 1 réponse
Posté le 08 décembre 2004 - 10:33
Comment récupérer le source d'une page HTML chargé via l'activeX ??

J'ai essayé MonActiveX>>Document>>Body>>innerHtml

mais une erreur est générée sur le mot "Body" !!!

Si quelqu'un a une solution lle sera la bienvenue !!

Merci
Posté le 08 décembre 2004 - 15:41
"Pascal" a écrit :

Comment récupérer le source d'une page HTML chargé via l'activeX ??
J'ai essayé MonActiveX>>Document>>Body>>innerHtml
mais une erreur est générée sur le mot "Body" !!!


C'est pas simple à gérer. :-)
Tu peux en effet utiliser comme quelqu'un te l'a dit la fonction
HTTPRequête() puis HTTPDonneRésultat(), mais le problème,
c'est que HTTPRequête() n'arrive parfois pas à retourner
certaines pages ... Alors que l'ActiveX y arrive. Par contre,
l'ActiveX a parfois du mal à retourner le source :-(

Ca se mord un peu la queue, mais tu dois pouvoir trouver une
solution en utilisant les deux méthodes. Pour récupérer le
source de l'ActiveX, voici comment faire (j'en ai bavé pour trouver,
car le support (gratuit) ne marche pas pour les ActiveX tiers ...
Je me suis inspiré de ce que je faisais en Delphi :

Dans l'initialisation de l'ActiveX, tu ajoutes ça :

// Evènement document chargé
ActiveXEvénement("XWEB_DocumentComplete", MonWEB,"DocumentComplete")

Et tu ajoutes la procédure concernée :

PROCEDURE XWEB_DocumentComplete(pDisp, pvURL)

szGlbSOURCE = MonWEB>>Document()>>body>>innerHTML

Voilà.
Bien entendu, si le site gère des cadres, tu reçois la page de définition
des cadres ...
Note la syntaxe particulière utilisée pour que ça fonctionne, et n'oublie
pas que cet objet innerHTML n'existe que dans le traitement de cet
évènement.
Dans le cas où la chaîne source retournée serait vide, tu peux toujours
utiliser HTTPRequête(), des fois que ça marche :-)

Pour voir un exemple d'utilisation de cette méthode, tu peux essayer
un de mes freewares qui l'illustre parfaitement : Bali VEILLE (veille
technologique, donc surveillance de changements dans des pages Web)
http://baliciel.free.fr/files/BaliVEILLE.exe

J'espère que cela a pu t'être utile :-)

--
Jean-Michel CAMBOT metsdumanche chez baliciel.com
Baliciel HomePage : http://www.baliciel.com/