Ich möchte gemeinsame Kopf- und Fußzeilenseiten erstellen, die auf mehreren HTML-Seiten enthalten sind.
Ich möchte Javascript verwenden. Gibt es eine Möglichkeit, dies nur mit HTML und JavaScript zu tun?
Ich möchte eine Kopf- und Fußzeilenseite in eine andere HTML-Seite laden.
javascript
jquery
html
css
Prasanth AR
quelle
quelle
Antworten:
Sie können dies mit jquery erreichen .
Geben Sie diesen Code ein
index.html
und geben Sie diesen Code in
header.html
undfooter.html
an derselben Stelle wie einindex.html
Wenn Sie jetzt besuchen
index.html
, sollten Sie in der Lage sein, auf die Link-Tags zu klicken.quelle
local file
funktionieren in einer neuen Version von Google Chrome oder IE nicht. Grund: Sicherheit!.breathe(in)
und.breathe(out)
schon? Jede Skriptsprache ist hier ein reiner Overkill.Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Ich füge allgemeine Teile als Kopf- und Fußzeile mithilfe von Server Side Includes hinzu . Es wird kein HTML und kein JavaScript benötigt. Stattdessen fügt der Webserver den enthaltenen Code automatisch hinzu, bevor Sie etwas anderes tun.
Fügen Sie einfach die folgende Zeile hinzu, in die Sie Ihre Datei aufnehmen möchten:
quelle
.shtml
,.stm
,.shtm
. Es funktioniert in Apache, LiteSpeed, Nginx, LightTPD und IIS..shtml
,.stm
und.shtm
: Auf IIS, alle analysierten Dateien können SSI enthalten, zum Beispiel.aspx
. Wenn Sie mit PHP arbeiten, müssen Sie stattdessen PHPinclude
oder denvirtual
Befehl verwenden, um das gleiche Ergebnis zu erzielen.Müssen Sie die HTML-Dateistruktur mit JavaScript verwenden? Haben Sie darüber nachgedacht, stattdessen PHP zu verwenden, damit Sie ein einfaches PHP-Include-Objekt verwenden können?
Wenn Sie die Dateinamen Ihrer HTML-Seiten in .php konvertieren, können Sie oben auf jeder Ihrer .php-Seiten eine Codezeile verwenden, um den Inhalt aus Ihrer header.php einzuschließen
Machen Sie dasselbe in der Fußzeile jeder Seite, um den Inhalt aus Ihrer Datei footer.php aufzunehmen
Kein JavaScript / Jquery oder zusätzliche enthaltene Dateien erforderlich.
NB Sie können Ihre .html-Dateien auch in .php-Dateien konvertieren, indem Sie Folgendes in Ihrer .htaccess-Datei verwenden
quelle
Ich habe Folgendes versucht: Erstellen Sie eine Datei header.html wie
Fügen Sie nun header.html wie folgt in Ihre HTML-Seiten ein:
Funktioniert einwandfrei.
quelle
Sie könnten auch setzen: (load_essentials.js :)
quelle
Ich denke, die Antworten auf diese Frage sind zu alt ... Derzeit unterstützen einige Desktop- und mobile Browser HTML-Vorlagen, um dies zu tun.
Ich habe ein kleines Beispiel gebaut:
OK getestet in Chrome 61.0, Opera 48.0, Opera Neon 1.0, Android Browser 6.0, Chrome Mobile 61.0 und Adblocker Browser 54.0.
Getestet KO in Safari 10.1, Firefox 56.0, Edge 38.14 und IE 11
Weitere Informationen zur Kompatibilität finden Sie unter canisue.com
index.html
autoload-template.html
styles.css
Weitere Beispiele finden Sie in diesem HTML5 Rocks-Beitrag
quelle
Ich habe in C # / Razor gearbeitet und da ich auf meinem Heim-Laptop kein IIS-Setup habe, habe ich nach einer Javascript-Lösung gesucht, die in Ansichten geladen werden kann, während statische Markups für unser Projekt erstellt werden.
Ich bin auf eine Website gestoßen, auf der Methoden zum "Ditching Jquery" erklärt wurden. Sie zeigt, dass eine Methode auf der Website genau das tut, wonach Sie suchen, und zwar in einfachem Jane-Javascript ( Referenzlink am Ende des Beitrags ). Stellen Sie sicher, dass Sie alle Sicherheitslücken und Kompatibilitätsprobleme untersuchen, wenn Sie dies in der Produktion verwenden möchten. Ich bin es nicht, also habe ich mich selbst nie darum gekümmert.
JS-Funktion
Holen Sie sich den Inhalt
index.html
Ansichten / header.html
Die Quelle ist nicht meine eigene, ich beziehe mich lediglich darauf, da es sich um eine gute Vanille-Javascript-Lösung für das OP handelt. Der Originalcode befindet sich hier: http://gomakethings.com/ditching-jquery#get-html-from-another-page
quelle
Aloha von 2018. Leider habe ich nichts Cooles oder Futuristisches, das ich mit Ihnen teilen könnte.
Ich wollte jedoch diejenigen darauf hinweisen, die kommentiert haben, dass die jQuery-
load()
Methode derzeit nicht funktioniert, und wahrscheinlich versuchen, die Methode mit lokalen Dateien zu verwenden, ohne einen lokalen Webserver auszuführen. Dadurch wird die oben erwähnte „cross origin“ Fehler aus, die angibt , dass Quer Ursprungs anfordert , wie sie durch die Last Verfahren hergestellt nur für Protokollschemata unterstützt werden wiehttp
,data
oderhttps
. (Ich gehe davon aus, dass Sie keine tatsächliche Cross-Origin-Anfrage stellen, dh die Datei header.html befindet sich tatsächlich in derselben Domain wie die Seite, von der Sie sie anfordern.)Wenn die oben akzeptierte Antwort für Sie nicht funktioniert, stellen Sie bitte sicher, dass Sie einen Webserver ausführen. Der schnellste und einfachste Weg, dies zu tun, wenn Sie in Eile sind (und einen Mac verwenden, auf dem Python vorinstalliert ist), besteht darin, einen einfachen Python-http-Server hochzufahren. Wie einfach das geht, sehen Sie hier .
Ich hoffe das hilft!
quelle
Es ist auch möglich, Skripte und Links in den Header zu laden. Ich werde es eines der obigen Beispiele hinzufügen ...
quelle
Ein anderer Ansatz, der seit der ersten Beantwortung dieser Frage zur Verfügung gestellt wurde, ist die Verwendung von reactrb-express (siehe http://reactrb.org ). Auf diese Weise können Sie auf der Clientseite ein Skript in Ruby erstellen und Ihren HTML-Code durch in Ruby geschriebene Reaktionskomponenten ersetzen.
quelle
Speichern Sie den HTML-Code, den Sie in eine HTML-Datei aufnehmen möchten:
Content.html
Fügen Sie den HTML-Code hinzu
Das Einschließen von HTML erfolgt mithilfe eines w3-include-html- Attributs:
Beispiel
Fügen Sie das JavaScript hinzu
HTML-Includes werden von JavaScript ausgeführt.
Rufen Sie includeHTML () am Ende der Seite auf:
Beispiel
quelle