70 votes

Charger le contenu du fichier HTML dans la div [sans utiliser d'iframes]

Je suis sûr que c'est une question courante, mais je suis assez nouveau sur JS et j'ai quelques problèmes avec cela.

Je voudrais charger x.html dans un div avec l'identifiant "y" sans utiliser d'iframes. J'ai essayé quelques trucs, cherché partout, mais je ne trouve pas de solution décente à mon problème.

Je préférerais quelque chose en JavaScript si possible.

Merci d'avance à tous !

80voto

webarto Points 11803

jQuery :

 $("#y").load("x.html");

29voto

thiagola92 Points 399

2019 Utilisation de la récupération

 <script>
fetch('page.html')
  .then(data => data.text())
  .then(html => document.getElementById('elementID').innerHTML = html);
</script>

<div id='elementID'> </div>

fetch doit recevoir un lien http ou https, cela signifie qu'il ne fonctionnera pas localement.

Remarque : comme l'a dit Altimus Prime , il s'agit d'une fonctionnalité pour les navigateurs modernes

7voto

akellehe Points 3183

Je suggérerais d'entrer dans l'une des bibliothèques JS là-bas. Ils assurent la compatibilité afin que vous puissiez être opérationnel très rapidement. jQuery et DOJO sont tous les deux vraiment géniaux. Pour faire ce que vous essayez de faire dans jQuery, par exemple, cela donnerait quelque chose comme ceci :

 <script type="text/javascript" language="JavaScript">
$.ajax({
    url: "x.html", 
    context: document.body,
    success: function(response) {
        $("#yourDiv").html(response);
    }
});
</script>

6voto

john p Points 26
    document.getElementById("id").innerHTML='<object type="text/html" data="x.html"></object>';

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X