11546 sujets

JavaScript, DOM et API Web HTML5

bonjour,

je voudrai savoir si c'est possible de récuperer le contenu d'une iframe en utilisant le DOM. Par exemple j'ai

...
<div id ="test">
<iframe src="toto.html">
test
</iframe>
</div>
...


alors déjà j'arrive à récupérer la div dont l'id est test avec un document.getElementById('test'), ce qui se complique c'est qu'ensuite je veux récupérer l'intégralité du contenu, alors j'ai essayé avec
document.getElementById('test').lastChild.innerHTML mais ca me renvoit que:

<iframe src="toto.html">
</iframe>


sachant que je ne peux pas donner d'id à l'iframe.

Merci d'avance
Modifié par Lune (21 Aug 2007 - 12:28)
Salut,
a ta place je ferais :
document[#blue].getElementById("test")[/#blue].getElementsByTagName("iframe")[0].contentDocument.documentElement.innerHTML

Et tu récupère le contenu HTML de la balise "html" contenue dans la frame (même si tu n'en a pas écrit un le navigateur en a généré un automatiquement).

Attention ! Tu ne peut acceder au contenu de la frame que si celle-ci est dans le même sandbox que la page hôte (la page liée au script).

Dans l'exemple, la page est sur le même serveur (ou en locale) : index.html et toto.html . Si la page toto.html était sur le serveur http://example.com et que index.html était autrepart ça marchera pas. Cela viens d'une protection contre les attaques "Cross domain".