HTML-Content in index.html includen


#1
Hallo.

Habe da ein kleines Verständnisproblem. Wenn mich meine Erinnerungen nicht ganz in die Irre führen, funktioniert das Grundkonzept von HTML und CSS folgendermaßen.
Die Index.HTML bildet die Startseite. Mithilfe dieser Auszeichnungssprache wird innerhalb der Index.HTML die Seitenstruktur programmiert. Die Index.HTML enthält das Doctype und die Elemente HTML, HEAD und BODY. Das optische Erscheinungsbild wird anhand eines Stylesheets festgelegt und in den HEAD-Bereich der Index.HTML eingebunden.

Nun werden lediglich weitere HTML Dateien angelegt, die den späteren Inhalt (Texte und Grafiken) enthalten. Soweit ich das in Erinnerung habe (schon längere Zeit nicht mehr gemacht), entfällt in den <Content>.HTML-Seiten der Kopf (HTML, HEAD, BODY). Statt dessen werden die <Content>.HTML-Seiten in den HEAD-Bereich der Index.HTML eingebunden, damit auch die Inhaltsseiten das seitentypische Aussehen erhalten. Letzteres macht man wie? Bitte verzeiht mir die dumme Frage. Aber dank der ganzen Homepage Baukästen beantwortet das Internet solche Fragen nicht mehr. Wird scheinbar nicht mehr benötigt.
 

Jan-Frederik Stieler

Monsterator
Moderator
#2
Hi,
also HTMl hat nichts mit dem dynamischen Aufbau der HTMl-Seite zu tun.
Das was Du meinst kommt wahrscheinlich noch aus der Verwendung von Framesets. Diese sind aber
depricated in HTML5. Um dynamisch Inhalte auszutauschen sollte man z.B. Ajax nehmen.

Also wenn Du reines HTMl verwenden willst hast Du für die Index- und jede Inhaltsseite einen fast identischen Headbereich, mal abgesehen von den metadaten.

Willst du nur bestimmte Inhaltsbereiche austauschen dann musst Du PHP, Ruby und/oder Javascript einsetzen. Natürlich kannst Du immer noch Framesets einsetzen aber empfehlen kann ich das nicht.

Viele Grüße
 

ComFreek

Mod | @comfreek
Moderator
#3
Die Index.HTML bildet die Startseite.
Nicht zwingend. HTML ist die Sprache, die dein Browser versteht. Er fragt den Server nach der URL an, die du ihm gegeben hast, etwa Example Domain. Der Server liefert nun HTML aus. Woher dieser Code kommt, ist dem Browser vollkommen egal. Der Code kann, wie oft der Fall, aus einer Datei stammen oder aus einer Datenbank (vgl. die ganzen CMS/Blogsysteme) oder von sonst irgendwo.

Die meisten Serverprogramme (z. B. Apache oder Nginx) sind so programmiert worden, dass es ein Root Directory pro Domain gibt, z. B. /blah/mein-pfad/htdocs und die Standardeinstellung, dass wenn in der URL (Example Domain) weder Ordner noch Datei benannt ist, dass das automatisch die im Root Directory befindliche index.html ausgeliefert wird. Du kannst das aber freilich alles umkonfigurieren, etwa dazu, dass comfreek.html stattdessen ausgeliefert wird.

Ich kann da @Jan-Frederik Stieler nur zustimmen: Framesets sind obsolet. Höchstens <iframes> noch in sehr seltenen Fällen einsetzbar; definitiv aber nicht in deinem Anwendungsfall.