Je souhaite créer des pages d'en-tête et de pied de page communes qui sont incluses dans plusieurs pages html.
J'aimerais utiliser javascript. Existe-t-il un moyen de le faire en utilisant uniquement HTML et JavaScript?
Je souhaite charger une page d'en-tête et de pied de page dans une autre page html.
javascript
jquery
html
css
Prasanth AR
la source
la source
Réponses:
Vous pouvez accomplir cela avec jquery .
Placez ce code dans
index.html
et mettez ce code dans
header.html
etfooter.html
, au même endroit queindex.html
Maintenant, lorsque vous visitez
index.html
, vous devriez pouvoir cliquer sur les balises de lien.la source
local file
ne fonctionne pas dans la nouvelle version de Google Chrome ou IE, raison: la sécurité!.breathe(in)
il.breathe(out)
déjà un et ? Tout langage de script est purement excessif ici.Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
quand je cours dans ChromeJ'ajoute des parties communes comme en-tête et pied de page en utilisant Server Side includes . Aucun HTML et aucun JavaScript n'est nécessaire. Au lieu de cela, le serveur Web ajoute automatiquement le code inclus avant de faire quoi que ce soit d'autre.
Ajoutez simplement la ligne suivante à l'endroit où vous souhaitez inclure votre fichier:
la source
.shtml
,.stm
,.shtm
. Il fonctionne dans Apache, LiteSpeed, nginx, lighttpd et IIS..shtml
,.stm
et.shtm
: Sur IIS, tous les fichiers analysés peuvent contenir SSI, par exemple.aspx
. Si vous travaillez avec PHP, vous devez utiliser la commande PHPinclude
ou à lavirtual
place pour obtenir le même résultat.Devez-vous utiliser la structure de fichiers html avec JavaScript? Avez-vous envisagé d'utiliser PHP à la place pour pouvoir utiliser un simple objet d'inclusion PHP?
Si vous convertissez les noms de fichiers de vos pages .html en .php - alors en haut de chacune de vos pages .php, vous pouvez utiliser une ligne de code pour inclure le contenu de votre header.php
Faites de même dans le pied de page de chaque page pour inclure le contenu de votre fichier footer.php
Aucun JavaScript / Jquery ou fichiers inclus supplémentaires requis.
NB Vous pouvez également convertir vos fichiers .html en fichiers .php en utilisant ce qui suit dans votre fichier .htaccess
la source
J'ai essayé ceci: Créez un fichier header.html comme
Incluez maintenant header.html dans vos pages HTML comme:
Fonctionne parfaitement bien.
la source
Vous pouvez également mettre: (load_essentials.js :)
la source
Je pense que les réponses à cette question sont trop anciennes ... actuellement, certains navigateurs de bureau et mobiles prennent en charge les modèles HTML pour ce faire.
J'ai construit un petit exemple:
Testé OK dans Chrome 61.0, Opera 48.0, Opera Neon 1.0, Android Browser 6.0, Chrome Mobile 61.0 et Adblocker Browser 54.0
Testé KO dans Safari 10.1, Firefox 56.0, Edge 38.14 et IE 11
Plus d'informations sur la compatibilité sur canisue.com
index.html
autoload-template.html
styles.css
Vous pouvez obtenir plus d'exemples dans cet article HTML5 Rocks
la source
Je travaille en C # / Razor et comme je n'ai pas de configuration IIS sur mon ordinateur portable personnel, j'ai cherché une solution javascript à charger dans les vues tout en créant un balisage statique pour notre projet.
Je suis tombé sur un site Web expliquant les méthodes de "jquery abandonné", il montre qu'une méthode sur le site fait exactement ce que vous recherchez en javascript brut ( lien de référence en bas de l'article ). Assurez-vous d'enquêter sur les vulnérabilités de sécurité et les problèmes de compatibilité si vous avez l'intention de l'utiliser en production. Je ne le suis pas, donc je ne me suis jamais penché sur la question.
Fonction JS
Obtenez le contenu
index.html
views / header.html
La source n'est pas la mienne, je la référence simplement car c'est une bonne solution javascript vanille pour l'OP. Le code original vit ici: http://gomakethings.com/ditching-jquery#get-html-from-another-page
la source
Aloha de 2018. Malheureusement, je n'ai rien de cool ou de futuriste à partager avec vous.
Je voulais cependant signaler à ceux qui ont commenté que la
load()
méthode jQuery ne fonctionne pas dans le présent essaient probablement d'utiliser la méthode avec des fichiers locaux sans exécuter un serveur Web local. Cela permettra de lancer le mentionné ci - dessus « origine croix » erreur, qui indique que l' origine transversale demande telle que celle fabriquée par le procédé de charge ne sont supportées que pour les régimes de protocole commehttp
,data
ouhttps
. (Je suppose que vous ne faites pas de demande d'origine croisée, c'est-à-dire que le fichier header.html est en fait sur le même domaine que la page à partir de laquelle vous le demandez)Donc, si la réponse acceptée ci-dessus ne fonctionne pas pour vous, assurez-vous que vous exécutez un serveur Web. Le moyen le plus rapide et le plus simple de le faire si vous êtes pressé (et que vous utilisez un Mac sur lequel Python est préinstallé) serait de lancer un simple serveur http Python. Vous pouvez voir à quel point il est facile de le faire ici .
J'espère que ça aide!
la source
Il est également possible de charger des scripts et des liens dans l'en-tête. Je vais l'ajouter à l'un des exemples ci-dessus ...
la source
une autre approche rendue disponible depuis que cette question a été posée pour la première fois est d'utiliser reactrb-express (voir http://reactrb.org ). Cela vous permettra de script en ruby côté client, en remplaçant votre code html par des composants react écrits en ruby.
la source
Enregistrez le code HTML que vous souhaitez inclure dans un fichier .html:
Content.html
Inclure le HTML
L'inclusion de HTML se fait à l'aide d'un attribut w3-include-html :
Exemple
Ajouter le JavaScript
Les inclusions HTML sont effectuées par JavaScript.
Appelez includeHTML () en bas de page:
Exemple
la source