Martin Seidel: Wie funktioniert Navigation in HTML

Hallo,

kurze Frage: wie funktioniert eine einfache Navigation in html? Also nicht das Aussehen des Menüs sondern wie lade ich content in einen bestimmten Bereich der Seite. Oder erstellt man wirklich für jede Seite eine komplette html (mit navigation, footer, ...). Ich habe das früher immer mit iframes gemacht, aber das ist wohl nicht Stand der Technik :)

Vielen Dank!

  1. Hallo,

    … Oder erstellt man wirklich für jede Seite eine komplette html (mit navigation, footer, …

    ja. Wobei "man" du oder auch ein Programm sein kann. Viele verenden dafür PHP-Scripte, ein CMS macht das aber auch.

    Auf meiner kleinen Site habe ich die Navigation per copy&paste in jede Seite kopiert.

    Gruß
    Jürgen

    1. Lieber JürgenB,

      Viele verenden dafür PHP-Scripte,

      das klingt sowas von nach Metzger... ;-)

      Liebe Grüße

      Felix Riesterer

      1. Hallo Felix,

        Viele verenden dafür PHP-Scripte,

        das klingt sowas von nach Metzger... ;-)

        erinnert mich daran, was mein Vater mal von einer seiner extrem seltenen Bahnreisen erzählte: Unplanmäßiger Halt auf freier Strecke, eine längere Wartezeit, schließlich eine Durchsage. Es gebe leider ein technisches Problem, das sich nicht ohne weiteres lösen lasse. Ein Bus-Ersatzverkehr sei bereits angefordert, das werde aber eine Weile brauchen. Die Durchsage endet mit der pflichtbewussten Bemerkung. "Es tut uns sehr leid, verehrte Fahrgäste, aber dieser Zug endet hier."

        Der Passagier, der neben meinem Vater saß, murmelte vor sich hin: "Der meint wohl verendet."

        Live long and pros healthy,
         Martin

        --
        Wer respektiert werden will, sollte zunächst damit anfangen, andere zu respektieren.
        1. Hallo,

          jetzt habe ich es auch gesehen. Das ist aber ein echter Tippfehler, da steckt keine Absicht hinter.

          Gruß
          Jürgen

      2. @@Felix Riesterer

        Viele verenden dafür PHP-Scripte,

        das klingt sowas von nach Metzger... ;-)

        Der mit dem Beil spielt

        😷 LLAP

        --
        “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
  2. Hallo,

    Oder erstellt man wirklich für jede Seite eine komplette html (mit navigation, footer, ...).

    Kurze Antwort: ja.

    Lange Antwort: natürlich nicht man selbst.
    Die im Browser anzuzeigende Seite sollte eine komplette HTML-Seite sein. Die wird aber in der Regel programmatisch zusammengebaut. Z. B. im Wiki beschrieben.

    Gruß
    Kalk

  3. Lieber Martin,

    wie lade ich content in einen bestimmten Bereich der Seite. Oder erstellt man wirklich für jede Seite eine komplette html (mit navigation, footer, ...). Ich habe das früher immer mit iframes gemacht, aber das ist wohl nicht Stand der Technik :)

    der Stand der Technik ist ein Schlagwort, das Dir nicht viel weiterhilft.

    1. "Komplette HTML-Dokumente" mit Navi, Footer und allem - ja, das ist auf jeden Fall eine Lösung. Allerdings ist die Pflege solcher Webseiten sehr aufwändig, wenn man kein passendes Tool einsetzt, das die auf allen Seiten (nahezu) identischen Anteile automatisiert ändert, wenn Du da Hand anlegst.
    2. Frames sind auch heute noch eine Technik, welche in Browsern unterstützt wird. Ihr Einsatz ist also nach wie vor möglich. Ob das aber empfehlenswert ist, steht auf einem anderen Blatt. Als Dokumentation zum Herunterladen und lokal auf der Festplatte im Browser nutzen ist die Frames-Technik durchaus sinnvoll - wenn man das alles von Hand schreibt. Wenn man aber auf der Website ein CMS nutzt, welches die feststehenden Seitenbestandteile selbst verwaltet, kann man sich auf den inhaltlichen Teil der jeweiligen (Unter-)Seite konzentrieren.

    Es kommt eben darauf an. Was willst Du tun und womit willst Du das erreichen? Welche technischen Möglichkeiten bietet Dein Webspace, womit z.B. ein CMS möglich wird?

    Liebe Grüße

    Felix Riesterer

    1. Hallo,

      Es kommt eben darauf an. Was willst Du tun und womit willst Du das erreichen? Welche technischen Möglichkeiten bietet Dein Webspace, womit z.B. ein CMS möglich wird?

      wobei es auch CMS gibt, die offline laufen und statische Seiten erzeugen.

      Gruß
      Jürgen

    2. OK, erstmal vielen Dank für deine Antwort und auch an die anderen Autoren. Ich mache dann alles in die index.html und (de-)aktiviere dann die entsprechenden divs per javascript. In meiner Vorstellung sollte das so funktionieren 😀

      Die Seite wird auch wirklich sehr klein und statisch. Natürlich ginge das ganze mit wordpress etc. einfacher aber es soll auch als Übung dienen...

      1. Lieber Martin,

        und (de-)aktiviere dann die entsprechenden divs per javascript.

        warum mit JavaScript? Das geht auch ohne!

        Liebe Grüße

        Felix Riesterer

        1. @@Felix Riesterer

          warum mit JavaScript? Das geht auch ohne!

          Nein. Nicht, wenn’s funktionieren soll.

          Funktionieren heißt: funktionieren für alle, nicht nur für einen priviligierten Teil der Nutzerschaft wie sehende Mausschubser.

          😷 LLAP

          --
          “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
          1. Lieber Gunnar,

            Funktionieren heißt: funktionieren für alle, nicht nur für einen priviligierten Teil der Nutzerschaft wie sehende Mausschubser.

            was hat ::target mit Mausschubsern oder/und Sehenden zu tun? Und was ist daran für Sehende anders als für Nichtsehende?

            Bisher bin ich davon ausgegangen, dass das Betätigen eines Links grundsätzlich für alle möglich ist, nicht nur für Mausschubser oder/und Sehende. Und die Anzeigeänderung sollte von assistiven Technologien doch hinreichend unterstützt werden, wenn mit der Pseudoklasse die Sichtbarkeit von Inhalten verändert wird.

            Was habe ich da noch nicht auf dem Schirm?

            Liebe Grüße

            Felix Riesterer

  4. Hallo Martin,

    sondern wie lade ich content in einen bestimmten Bereich der Seite.

    Wenn Du das so meinst, wie Du es schreibst - das geht auch. Es benötigt allerdings JavaScript. Du kannst mittels JavaScript HTML Fragmente vom Server laden und in bestimmte Teile der Seite einsetzen. Man findet das im Netz unter der Überschrift "AJAX" (asynchronous JavaScript and XML) - wobei der XML Teil nur eine Option von mehreren ist.

    Diese HTML Fragmente kannst Du am Server statisch vorhalten, Du kannst sie durch ein serverseitiges Programm nach Bedarf generieren oder Du kannst clientseitiges JavaScript verwenden, um das HTML aus Daten zu generieren, die der Server geliefert hat. Es kann nur in Verwaltungsarbeit ausarten, wenn dieses HTML auch CSS und eigenes Script braucht. Es dann ohne Speicherlecks zu lösen braucht Sorgfalt (eine vergessene Referenz, und schon bleiben Speicherbereich hängen, die eigentlich gelöscht werden sollten). Geladenes Script bleibt allerdings geladen - das kann man nur zu recyclen versuchen.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo,

      Es kann nur in Verwaltungsarbeit ausarten, ...

      es ist auch nicht ganz trivial, das Konzept so aufzubauen, dass man einzelne Seiten dann auch bookmarken kann. Möglich ist das, wenn man die aktuell angezeigte Seite im Hash (aka Fragment Identifier) speichert und auch auf eine Änderung desselben reagiert.

      Meist wird dieser Punkt aber vernachlässigt - oder schlicht vergessen.

      Live long and pros healthy,
       Martin

      --
      Wer respektiert werden will, sollte zunächst damit anfangen, andere zu respektieren.
      1. Hallo Der,

        es hat niemand behauptet, dass eine gut konstruierte SPA eine einfache Sache wäre. Ich hab im Büro grad eine alte ASP.NET Anwendung auf SPA umgebaut, mit Hashcodierung des aktiven Views, und es war nicht einfach.

        Rolf

        --
        sumpsi - posui - obstruxi
    2. Ich hab mir überlegt alle Unterseiten (es sind nur 3 mit ein bisschen Text) in die index.html zu packen und die divs mit javascript zu (de-)aktivieren. Das ganze ist natürlich nicht professionell, aber simpel und eine nette Übung wenn es denn so funktioniert wie ich mir das vorstelle :)

  5. Wie "man" das macht, hängt von "man" ab 😉

    Manche tauschen auch nur den Teil der Seite aus, der sich tatsächlich verändert. Und freuen sich darüber wie schnell das serverseitig funktioniert und wie wenig Daten dabei übertragen werden. Lassen aber völlig außen vor, dass es im Browser des Seitenbesuchers eine Katastrophe ist und dort ewig dauert bis die Seite endlich fertig zusammengebaut ist.

    Ich habe auch schon Seiten gesehen auf die man nicht mehr verlinken oder bookmarken konnte, weil die verschiedenen Unterseiten alle nur per Script browserseitig erstellt wurden und sich die URL nicht verändert hat.
    Mülleimer auf - Seite rein - Deckel zu.