Bild 6.8: Mehrstufige Navigation als verschachtelte Liste in HTML Erläuterung Die gesamte Navigation wird innerhalb von
notiert. Eine ungeordnete Liste (
…
) schließt die Navigationspunkte ein. Jeder Navigationseintrag ist ein Listenpunkt, markiert durch
…
. Der Inhalt der li -Elemente ist dann der jeweilige Link, markiert durch …
. Im Fall einer verschachtelten (mehrstufigen) Navigationsstruktur enthalten li -Elemente, an denen sich ein »Untermenü« anschließt, im Anschluss an den Link, der das Untermenü auslösen soll, eine vollständige ul -Liste für das Untermenü. Diese Liste hat wieder den gleichen Aufbau: li -Elemente für die Menü-Einträge, welche die a -Elemente für die eigentlichen Links enthalten. Weitere Hinweise Da die Navigation auf allen Unterseiten wiederholt werden soll, muss der entsprechende HTML-Code in allen Unterseiten wiederholt werden. Wenn Sie mit einem Content-Management-System arbeiten, das die einzelnen Webseiten zur Laufzeit dynamisch generiert, ist das kein Problem. Falls Sie jedoch mit statischen HTML-Dateien arbeiten, haben Sie keine derartigen Möglichkeiten. Die einfachste Lösung, nämlich den HTML-Code der gesamten Navigation in alle Unterseiten zu kopieren, ist sehr unflexibel. Denn jede Änderung in der Navigation muss dann auf allen Unterseiten nachgezogen werden. HTML5 sieht eine ebenso simple, wie naheliegende Lösung für dieses Problem vor, die im Gegensatz zu anderen Lösungen keine Serverumgebung und keine andere Technologie als HTML erfordert: nämlich die Navigation in eine eigene HTML-Datei auszulagern und diese einfach in alle gewünschten Webseiten einzubinden. Dazu wird in der HTML5-Spezifikation die folgende Syntax vorgeschlagen. Zunächst der relevante Code-Ausschnitt der Webseite, in der die Navigation erscheinen soll:
Und dann der Inhalt der darin eingebundenen Datei, hier navigation.html genannt:
Leider ist das in den meisten Browsern noch nicht so wie gedacht umsetzbar, da diese das seamless -Attribut noch nicht umsetzen und stattdessen ein gewöhnliches iframe -Fenster anbieten. Das seamless -Attribut sollte dafür sorgen, dass der eingebundene Inhalt direkt in den HTML-Code des einbindenden Dokuments integriert wird. Dennoch ist die Lösung mit dem iframe -Element durchaus praktikabel. Auch ohne seamless -Attribut lassen sich eingebettete Frames optisch nahtlos in Webseiten integrieren. Mehr dazu finden Sie unter 7.5 Eingebettete Frames. Ansonsten sind, um eine solche Einbindung zu erreichen, derzeit nur serverseitige, scriptbasierte Lösungen praxistauglich. Wenn die Webseiten beispielsweise auf einem Webserver betrieben werden, auf dem PHP verfügbar ist, müssen die HTML-Dateien mit den Inhalten in *.php -Dateien umbenannt werden, also so, dass z. B. impressum.html zu impressum.php wird. Dann genügt an der gewünschten Stelle folgender Code zur Einbindung einer Datei wie der navigation.html :
In diesem Fall findet die Einbindung bereits serverseitig statt, also bevor das gesamte HTML-Dokument überhaupt an den Browser ausgeliefert wird. Deshalb funktioniert eine solche Lösung in allen Browsern.
6.3.2 Rechtliche Aspekte von Hyperlinks Das Web hat zahlreiche neue Realitäten mit sich gebracht. Deren Integration in bestehende Rechtssysteme ist mühsam und dauert immer noch an. Hyperlinks spielen dabei eine besonders kritische Rolle, da sie den wichtigsten Mehrwert im Web schaffen: nämlich die Nähe aller Inhalte . Links auf fremde Web-Angebote Im Normalfall dürfen Sie ungefragt Verweise auf fremde Web-Angebote setzen. Sie brauchen also keine E-Mail an den Anbieter mit Bitte um Genehmigung zu schreiben, wenn Sie auf sein Angebot einen Link setzen wollen. Jeder Anbieter, der mit seinem Web-Projekt