Frames oder doch nicht?

Moin Leute!

Ich soll eine Seite erstellen, die allein schon 10 Hauptmenüpunkte hat (weniger geht auch nicht).
Einige Seiten sind dann noch unterteilt in bis zu 5 Untermenüpunkte, also kommt insgesamt eine recht grosse Anzahl Seiten zusammen.

Auf dem Webspace steht weder SSI noch PHP zur Verfügung.
Es soll auch so bleiben, also wird kein höheres (und teureres) Webspacepaket bestellt.

Ich mag eigentlich keine Frames.
Wenn ich aber alle Seiten (ca. 40) als Einzeldateien programmiere und es kommt mal eine Änderung an der Navigation, dann wird das ja richtig zeitaufwendig!

Was meint Ihr?
Soll in diesem Fall doch lieber Frames einsetzen?

Gruss
Lanzelot

Ich mag eigentlich keine Frames.
Wenn ich aber alle Seiten (ca. 40) als Einzeldateien
programmiere und es kommt mal eine Änderung an der Navigation,
dann wird das ja richtig zeitaufwendig!

Hallo Lanzelot!

Mit kannst du externe include-Dateien einbinden. In der deine-datei.inc steht normaler HTML-Code (oder auch ASP, PHP, etc.). Nun bindest du auf allen 40 Seiten diese externe Datei ein, in der z.B. die Navigation steht. Gibt es Änderungen an der Navigation, musst du nur die deine-datei.inc ändern, sonst nichts!

Gruss
Daniel

hallo lanzelot,

wenn du nichts gegen javascript einzuwenden hast, programmiere doch eine js-navigation als externe *.js-datei. diese kannst du in die einzelnen html-seiten laden. so braucht ggf. nur noch das script geändert zu werden. für den fall, dass jemand js deaktiviert hat, füge in den noscript-tag der html-seiten einfach einen link zur sitemap ein, die du dann auch zusammenstellen musst. ich praktiziere es bei größeren präsenzen ebenfalls so und stoße dabei i.d.r. auf gute resonanz. weiterer vorteil: die *.js-datei befindet sich nach dem ersten laden im cache und wenn die nächste seite aufgerufen wird, ist die navigation ruck-zuck da. so kannst du nicht blos jede menge zeit sparen, sondern auch alle themen als einzelne seiten übersichtlich anlegen und organisieren, ein funktionelles, ansprechendes menü gestalten, ladezeit sparen und unabhängig vom browser und der version jedem zu jeder seite zugang verschaffen. des weiteren geht durch das fehlen von navigationsframes nicht unnötiger platz verloren, so dass das seitenlayout einfacher auch für kleinere bildschirmauflösungen, z.b. 800*600, optimiert werden kann. einziger nachteil: die js-navigation braucht zunächst auch etwas zeit, es sei denn, du benutzt ein freies script oder du investierst in eine lizens. daniels idee ist zwar sehr gut, doch leider mit deinen vorgaben nicht machbar.

gruß
huttatta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Mit
kannst du externe include-Dateien einbinden.

Was aber nur bei einem Server funktioniert der Server Side Includes unterstützt. Gleiches gilt bei Ideen wie das Menü über PHP zu includen oder ähnliches, unterstützt es der Server nicht => Pech gehabt

interessante Alternative
Moin Huttatta!

js-navigation als externe *.js-datei

Cool - ich wusste gar nicht, dass das geht!
Ich kannte bisher nur diese Java-Applets und die standen für mich grundsätzlich schon nicht zur Diskussion.

Gegen JavaScript habe ich eigentlich nichts.
Ausserdem muss ich für ein paar Features, die die Seite bieten soll, eh JavaScript oder sogar DHTML benutzen.

Ich werd’s mal ausprobieren!

Zusatzfrage:
Kann per JavaScript auch die anderen statischen Elemente der Seite (Header mit Logo und Schriftzug z.B.) laden?

Auf jeden Fall schonmal vielen Dank für den Tipp!

Gruss
Lanzelot

Hallo Lanzelot,

Zusatzfrage:
Kann per JavaScript auch die anderen statischen Elemente der
Seite (Header mit Logo und Schriftzug z.B.) laden?

klar kannst du das. an der stelle, wo der header erscheinen soll (meist direkt nach ), lädst du einfach das dafür gemachte script. mehrere scripts gleichzeitig zu benutzen ist kein problem. mit document.writeln(„html-code“) schreibst du im script den html-code. kleiner haken: das anführungszeichen " im html-code muss so ( " ) geschrieben werden, der slash / so ( / ). hier z.b. eine image-map:

document.writeln ("");

document.writeln ("");

document.writeln ("");

document.writeln ("");

document.writeln ("");

document.writeln ("
");

gruß
huttatta

Moin Huttatta!

klar kannst du das.

Stark, das eröffnet ja ganz neue Möglichkeiten.

Vielen Dank für den Code!

Gruss
Lanzelot