Je veux que home.html se charge <div id="content">
.
<div id="topBar"> <a href ="#" onclick="load_home()"> HOME </a> </div>
<div id ="content"> </div>
<script>
function load_home(){
document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>';
}
</script>
Cela fonctionne très bien lorsque j'utilise Firefox. Lorsque j'utilise Google Chrome, il demande un plug-in. Comment le faire fonctionner dans Google Chrome?
javascript
html
google-chrome
Giliweed
la source
la source
load_home(); return false
Réponses:
J'ai enfin trouvé la réponse à mon problème. La solution est
la source
type="type/html"
devienttype="text/html"
Vous pouvez utiliser la fonction de chargement jQuery:
Désolé. Édité pour le clic au lieu du chargement.
la source
Récupérer l'API
API XHR
en fonction de vos contraintes, vous devez utiliser ajax et vous assurer que votre javascript est chargé avant le balisage qui appelle la
load_home()
fonctionRéférence - Davidwalsh
MDN - Utilisation de Fetch
Démo JSFIDDLE
la source
Content-Type
tête à uneGET
demande n'a aucun sens - je pense que vous vouliez diresetRequestHeader("Accept", "text/html")
?Récupérer du HTML à la manière Javascript moderne
Cette approche utilise des fonctionnalités Javascript modernes telles
async/await
que l'fetch
API. Il télécharge le HTML sous forme de texte, puis le transmet à l'innerHTML
élément de votre conteneur.Le
await (await fetch(url)).text()
peut sembler un peu compliqué, mais il est facile d'expliquer. Il comporte deux étapes asynchrones et vous pouvez réécrire cette fonction comme ceci:Consultez la documentation de l'API fetch pour plus de détails.
la source
J'ai vu cela et j'ai trouvé que ça avait l'air plutôt sympa, alors j'ai fait quelques tests dessus.
Cela peut sembler une approche propre, mais en termes de performances, elle est en retard de 50% par rapport au temps qu'il a fallu pour charger une page avec la fonction de chargement jQuery ou en utilisant l'approche javascript vanille de XMLHttpRequest qui étaient à peu près similaires les unes aux autres.
J'imagine que c'est parce que sous le capot, il obtient la page exactement de la même manière, mais il doit également gérer la construction d'un tout nouvel objet HTMLElement.
En résumé, je suggère d'utiliser jQuery. La syntaxe est à peu près aussi facile à utiliser que possible et elle comporte un rappel bien structuré que vous pouvez utiliser. C'est aussi relativement rapide. L'approche vanille peut être plus rapide de quelques millisecondes imperceptibles, mais la syntaxe est déroutante. Je n'utiliserais cela que dans un environnement où je n'avais pas accès à jQuery.
Voici le code que j'ai utilisé pour tester - il est assez rudimentaire mais les temps sont revenus très cohérents sur plusieurs essais, donc je dirais précis à environ + - 5ms dans chaque cas. Les tests ont été exécutés dans Chrome à partir de mon propre serveur domestique:
la source
Lors de l'utilisation
Ensuite, rappelez-vous que vous ne pouvez pas "déboguer" dans Chrome localement, car XMLHttpRequest ne peut pas se charger - Cela ne signifie PAS que cela ne fonctionne pas, cela signifie simplement que vous devez tester votre code sur le même domaine aka. votre serveur
la source
Vous pouvez utiliser le jQuery:
la source
essayer
Afficher l'extrait de code
la source
ou
la source
Il y a ce plugin sur github qui charge le contenu dans un élément. Voici le repo
https://github.com/abdi0987/ViaJS
la source
Ceci est généralement nécessaire lorsque vous souhaitez inclure header.php ou n'importe quelle page.
En Java, c'est facile, surtout si vous avez une page HTML et que vous ne voulez pas utiliser la fonction php include, mais vous devez absolument écrire la fonction php et l'ajouter en tant que fonction Java dans la balise de script.
Dans ce cas, vous devez l'écrire sans fonction suivie du nom Just. Script fait rage le mot de fonction et lance l'inclusion header.php Ie convertit la fonction d'inclusion de php en fonction Java dans la balise de script et place tout votre contenu dans ce fichier inclus.
la source
Utilisez ce code simple
la source
w3-include-HTML
fait partie de laW3.JS
bibliothèque de scripts de W3Schools.com (disponible ici: w3schools.com/w3js/default.asp ). Je tiens à souligner que W3Schools (et w3.js, etw3.includeHTML()
) ne sont en aucun cas affiliés au W3 Consortium (l'un des deux principaux groupes qui définissent les standards HTML + CSS + DOM (l'autre groupe étant WHATWG).showhide.html
showhide_embedded.html
la source
Si votre fichier html réside localement, optez pour l'iframe au lieu de la balise. les balises ne fonctionnent pas sur plusieurs navigateurs et sont principalement utilisées pour Flash
Par exemple:
<iframe src="home.html" width="100" height="100"/>
la source