Obtenir l'objet document d'une iframe avec MSHTML

Pinky84 Messages postés 24 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 27 avril 2010 - 11 sept. 2005 à 02:31
Pinky84 Messages postés 24 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 27 avril 2010 - 11 sept. 2005 à 18:58
Je voudrais obtenir l'objet document d'un iframe en utilisant MSHTML.



J'ai essayé ceci:



IHTMLElement *p_Elem = NULL;

if (!p_Disp->QueryInterface(IID_IHTMLElement, (void **) &p_Elem))

{

IDispatch *p_Disp2 = NULL;



if (!p_Elem->get_document(&p_Disp2))

{

IHTMLDocument2 *p_IFrameDoc = NULL;



if (!p_Disp2->QueryInterface(IID_IHTMLDocument2, (void **) &p_IFrameDoc))

{

Walk(p_IFrameDoc);



SAFE_RELEASE(p_IFrameDoc);

}



SAFE_RELEASE(p_Disp2);

}



SAFE_RELEASE(p_Elem);

}



La function Walk affiche tout les tags du
document dans un textbox et je me rend bien compte que c'est le
document sur lequel se trouve le iframe. Comment faire pour obtenir un
objet document sur le fichier ouvert par le iframe?





Merci d'avance

2 réponses

cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
11 sept. 2005 à 11:14
Je tente :)
Récupère un IHTMLIFrameElement puis IHTMLFrameBase2 pour avoir accès à contentWindow.

http://www.poppyto.net LE site pour les bassistes
0
Pinky84 Messages postés 24 Date d'inscription samedi 11 novembre 2000 Statut Membre Dernière intervention 27 avril 2010
11 sept. 2005 à 18:58
ok



j'ai tenté:



IHTMLElement *p_Elem = NULL;

if (!p_Disp->QueryInterface(IID_IHTMLElement, (void **) &p_Elem))

{

IHTMLIFrameElement *p_FrameElem = NULL;



if (!p_Elem->QueryInterface(IID_IHTMLIFrameElement, (void **) &p_FrameElem))

{

IHTMLFrameBase2 *p_FrameBase = NULL;



if (!p_FrameElem->QueryInterface(IID_IHTMLFrameBase2, (void **) &p_FrameBase))

{

IHTMLWindow2 *p_Window = NULL;



if
(!p_FrameBase->get_contentWindow((IHTMLWindow2 **) &p_Window))

{

IHTMLDocument2 *p_FrameDoc = NULL;




if (!p_Window->get_document((IHTMLDocument2 **)
&p_FrameDoc))

{



SAFE_RELEASE(p_FrameDoc);

}

}



SAFE_RELEASE(p_FrameBase);

}

}



SAFE_RELEASE(p_Elem);

}



mais

if (!p_FrameBase->get_contentWindow((IHTMLWindow2 **) &p_Window))

renvoie E_NOINTERFACE...

une idée?



Merci
0
Rejoignez-nous