Alexander Foken: Meine Homepage

Beitrag lesen

Moin Moin !

Da Du zum Nachladen des Framesets ohnehin Javascript brauchst, kannst Du natürlich auch das Frameset mit Javascript aufbauen

Nein, das hat den Nachteil, dass, falls JavaScript deaktiviert ist, gar kein Frameset angezeigt wird.

Genau das war das Ziel der ganzen Sache. Von meiner Seite gibt es quasi zwei Versionen: Eine mit Frames und Javascript für den normalen Surfer, und eine ohne Frames und ohne Javascript als Suchmaschinenfutter und für paranoide Surfer (sorry!). Die framelose Version hat (nach einem Klick auf einen Link) eine *lange* Baumübersicht der ganzen Seite (http://www.foken.de/alexander/_simple_nav.html).

Oh, das finde ich persönlich sehr problematisch. Wie schon gesagt gibt es ohne JavaScript gar kein Frameset. Das Script, was du meinst, beginnt in Zeile 205, in einem script-Element im head-Element. Dort im head gibst du mit document.write Frameset-Code aus, der aber keinesfalls in den head darf.

Aber auch nicht in den Body. Ich bin offen für Verbesserungsvorschläge. Wo soll ich den Code denn mit document.write ausgeben ?

Dort, wo eigentlich das Frameset und darin ein noframe-Element gehört, gibt es bei dir nur ein noscript-Element (was zwar auf dasselbe herauskommt, aber mit noframes hat das nichts zu tun, es dürfte eher in die Kategorie Fehlertoleranz fallen, falls Suchmaschinenrobots und Browser alles richtig anzeigen).

Wie gesagt: Frames + Javascript gibt's auf der Seite nur zusammen oder gar nicht.

Weiterhin natürlich http://validator.w3.org/check?uri=http%3A%2F%2Fwww.foken.de%2Falexander%2F...

Autsch!

This page is not Valid HTML 4.01 Frameset!

Below are the results of attempting to parse this document with an SGML parser.

Line 146, column 37: end tag for element "TITLE" which is not open (explain...).

d.writeln('<title>Navigation</title>');
                                       ^

Das fällt wohl in die Kategorie Anfänger-/Flüchtigkeitsfehler. Ich glaube, ich sollte den Validator gleich in den HTML-Generator einbauen. *grummel*

Dein Code ist durchaus in gewisser Hinsicht hilfreich, denn du extrahierst die URL aus dem Query String:

...
content='welcome.html';
if (location.href.indexOf('?')>=0) {
 content=location.href;
 i=1+content.indexOf('?');
 content=content.substr(i,content.length-i);
}
last=content;
...

Und auf den Unterseiten:
if (top==self) {
 window.location.href='../?internet/homepage.html';
} ...

Genau das Ding meinte ich eigentlich.

Das läuft mehr oder weniger auf die in http://aktuell.de.selfhtml.org/artikel/javascript/dyn-frames/index.htm vorgestellte Lösung hinaus, wobei ich wie gesagt diese mit statischem Frameset anstatt dein mit JavaScript generiertes Frameset empfehlen würde.

Normalerweise ja, aber ich will Frames eben nur, wenn ich Javascript haben kann.

Dieser Artikel war auch übrigens in den von mir verlinkten Posting verlinkt - ich rate sonst zu einer Mischlösung, das heißt JavaScript auf den Unterseiten und Perl/PHP/$serverseitigeSprache im Frameset,

"Datt köst extra" - und das ist mir der Spaß nicht wert. Irgendwann einmal, wenn ich reich, alt und grau bin, werde ich einen eigenen Server für die Domain haben. So lange muß es mit der Billiglösung ohne PHP und ohne eigene CGIs gehen.

Achja, sagte ich schon, dass Frames nur Ärger bringen? ;))

Das weiß ich auch. Aber für eine "schöne" Lösung habe ich momentan weder Zeit noch Geld über.

Alexander

--
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
Mein "Lieblings-Forums-Bug": http://cforum.teamone.de/phpbt/bug.php?op=show&bugid=103&pos=2