par anonyme 23-Mars-2021

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

1 Réponse

par Antoine 23-Mars-2021

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>
par Antoine 23-Mars-2021

Pour ceux qui veulent récupérer le contenu d'une page qui n'est pas sur le même NDD, et pour éviter les blocages Cross-origin, vous devrez forcément exécuter votre code coté serveur, via PHP et CURL par exemple. Vous trouverez quelques explications via cette autre question.

Bienvenue sur 1FORMATIK, où vous pouvez poser des questions en lien avec l'informatique et internet, et recevoir des réponses d'Antoine et d'autres internautes.

2.6k questions

3k réponses

...