molily: Frames nachladen (?)

Beitrag lesen

Hallo, Andre und Alexander,

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.

Ich will nicht behaupten, daß ich die perfekte Lösung dafür gefunden habe [...]
(http://www.foken.de/alexander) gemacht habe

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. 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).
Weiterhin natürlich http://validator.w3.org/check?uri=http%3A%2F%2Fwww.foken.de%2Falexander%2F...

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';
} ...

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. 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, aber es geht natürlich auch wie in dem Artikel beschrieben ausschließlich mit JavaScript, nur ist besteht dann das Problem, dass es keine zuverlässig funktionierenden Frameset-URLs gibt, das heißt, die Unterseiten lassen sich nicht mit dem jeweiligen Frameset verlinken, es würde nur in Browsern mit JavaScript aber nicht bei Robots funktionieren.

Falls serverseitige Möglichkeiten bestehen, ist ein manueller, generierter HTML-Link sowie ein noframes-Element auf den Unterseiten zusätzlich auch nebenbei hilfreich, wie gesagt. Darüber schreibe ich übrigens momentan einen Artikel, in dem ich einige Möglichkeiten zusammenfasse.

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

Grüße,
Mathias