2010-07-21 3 views
1

J'écris un BHO qui analyse le HTML tiré de l'événement 'onDocumentComplete' de 'DWebBrowserEvents2'. Actuellement, cela fonctionne très bien, sauf si j'ai une page DHTML/AJAX, où le handle HTML est livré trop tôt.Comment obtenir un corps HTML complet en utilisant l'objet auxiliaire de navigateur (BHO) dans le cas d'une page DHTML/AJAX?

Par exemple, j'ai essayé de l'utiliser sur 'http://www.google.com'. De l'événement 'onDocumentComplete' je peux obtenir la plupart de la page mais dans le lien/ancres le plus haut, le 'href' pour des cartes, des vidéos, orkut etc. n'est pas disponible (normalement c'est javascript:void(0)).

Est-ce que quelqu'un a des idées sur la façon de le capturer quand la page est complètement chargée plutôt que juste quand le châssis/corps est chargé?

Merci,

MISE À JOUR

Il semble qu'il y ait un problème avec l'API MSHTML. J'ai posté la même question sur le forum MSDN et une réponse. Aussi j'ai détaillé mon problème et les résultats ....

http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/d517dbd1-df22-4dce-8ff9-0ca6786757f9

Dans le cas où quelqu'un trouve un moyen de résoudre ce alors s'il vous plaît faire part ...

Merci,

Répondre

2

L'AJAX Les modifications DHTML ne provoquent généralement pas un autre appel onDocumentComplete.

Vous devez vous enregistrer pour d'autres événements Window ou Document tels que DISPID_HTMLWINDOWEVENTS2_ONLOAD.

Une méthode consiste à informer la fenêtre d'un objet com que vous fournissez avec l'interface du récepteur d'événements générique. hr = AtlAdvise(winDisp, pWinHandler, DIID_HTMLWindowEvents2, &dwCookie);

Lorsque cet événement supplémentaire est déclenché à l'examen du document, vous trouverez qu'il est mis à jour.

Questions connexes