Comment récupérer le contenu d'une iframe en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2021-03-23 10:49:45
Thèmes : html - iframe - javascript
Question

Bonjour, est-il possible de récupérer le contenu HTML d'une balise <iframe> en JavaScript, et si oui comment ? Merci.

Réponse

Pré-requis : La page appelée via la balise <iframe>, dont vous voulez récupérer le contenu, ainsi que la page où est exécutée le code JavaScript, doivent être sur le même domaine.

Pour récupérer le contenu d'une iframe, et plus précisément le contenu de la balise <body>, vous pouvez utiliser la propriété JavaScript contentWindow :

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Comment récupérer le contenu d'une iframe en JavaScript ?</title>
</head>
<body>
<iframe id="iframe" src="iframe.html" onload="chargement()"></iframe>
<script>
var iframe = document.getElementById("iframe");
function chargement(){
var contenu_iframe = iframe.contentWindow.document.body.innerHTML; 
alert(contenu_iframe);
}
</script>
</body>
</html>