Wie macht man das, HTML?

5 Antworten

Hallo,

Dein Browser fordert vom Server immer genau eine Datei an. Wenn du aus einer HTML-Datei auf einer weitere verlinkst, dann wird die neue Datei angefordert, geladen / gerendert und agezeigt.

Möchtest du eine Website, die Inhalte im Hintergrund dynamisch nachlädt und sie in derselben Datei anzeigt, dann informiere dich über Single Page Applications. Gute Anlaufstellen bieten hier Frameworks wie React oder Angular.

LG

üblicherweise lassen sich in html die Begriffe "eine Seite" und "eine html Datei" synonym verwenden. Es gibt aber schon die Möglichkeit, innerhalb einer Seite, also einer Datei, zu springen - hin zu einer anderen Stelle zu scrollen. So gesehen wäre es dann immer noch die selbe Seite, lediglich eine andere Ansicht der selben Seite.

Andererseits kann es auch von Vorteil sein, Seiten über Dateien zu verteilen: damit lassen sich einzelne Seiten leichter unabhängig von anderen modifizieren, oder auch auswechseln. Beim Hochladen von Veränderungen reicht es damit, lediglich die Seite im Fokus zu aktualisieren, statt eine komplette Datei mit vielen Seiten.

Ich habe das mit PHP mal mit einem Run Level gemacht, dann kannst du das mit einer Datei machen. Ob das sinnvoll oder performant ist, hängt von deinen Anforderungen ab.

Das geht so

  • Angenommen, dein PHP-Skript heißt "test.php"
  • Im Link steht <a href="test.php?runlevel=1">Seite 1</a><a href="test.php?runlevel=2">Seite 2</a>
  • Im PHP-Skript steht dann "switch($runlevel) {case 1:... case 2:...}"

Also technisch gesehen muss keine HTML Datei existieren. Theoretisch kann eine Website auch mit nur einer einzigen ausführbaren Datei verfügbar gemacht werden. Diese eine Datei kann auch vollständig in Binarcode sein. Nicht falsch verstehen im Browser kommt am Ende trotzdem irgendwann ein HTML Document (keine Datei) an, dieses ist aber unter Umständen komplizierter entstanden.

Klassisch liegen die Dateien, auf welche verwiesen werden, auf einem Webserver und diese werden dann vom Browser angezeigt. Auch hier kannst du entweder für den Besucher sichtbar (redirect) oder unsichtbar (rewrite) auf eine andere Datei verweisen.

Du kannst auch innerhalb einer Seite Links erstellen. Diese nennt man Anker. Es gibt hier bereits einen Link als Antwort darum suche ich mal keinen raus. Damit an einen bestimmten Punkt gesprungen wird, musst ein anderes Element das attribute "id" (oder "name") haben.

Wie ich eine deiner Antworten interpretiere, willst du auf einen Link klicken und ohne reload der Seite irgendetwas verändern. Das ist dann meistens nur über Javascript möglich. Das ist auch das Grundprinzip von "Single Page Applications". SPAs werden dann aber nichtmehr (nur) in Html geschrieben sondern erfordern auch andere Sprachen wie Javascript bei Angular oder React oder C# bei Blazor.

Woher ich das weiß:Berufserfahrung

Mit einem Anker! Schau hier mal vorbei: https://de.wikipedia.org/wiki/Anker_(HTML)

Woher ich das weiß:Hobby – Programmierer, EDV, ... seit den 80er :)