Hallo Thomas
<noframes>text für noframe browser</noframes> sollte eigentlich außerhalb des <frameset>'s stehen, der darin besteht ja der sinn, daß noframe browsers den Text anzeigen können.
Doch doch, in der Endversion der HTML4-Spec steht zu diesem Tag, das meiner Meinung nach die "goldene Zitrone des verwirrendsten aller HTML-Tags" verdient:
<FRAMESET cols="50%, 50%">
<FRAME src="main.html">
<FRAME src="table_of_contents.html">
<NOFRAMES>
<P>Here is the <A href="main-noframes.html">
non-frame based version of the document.</A>
</NOFRAMES>
</FRAMESET>
"User agents that support frames must only display the contents of a NOFRAMES declaration when configured not to display frames. User agents that do not support frames must display the contents of NOFRAMES in any case."
Der letzte Satz ist trivial. Denn die Regel ist, dass ein Browser alles, was zwischen einem ihm unbekannten <Tag> und seinem </Tag> steht, ganz normal interpretieren soll. Ein solcher Browser rauscht also durch alle <frameset>, <frame> und <noframes>-Tags und das Zeugs, was er irgendwo dazwischen findet, interpretiert er - wenn man Glueck hat. Ich persoenlich finde das obige Beispiel des W3-Konsortiums nicht besonders gut, weil innerhalb von <noframes>...</noframes> kein <body>...</body> steht. Ein nicht-frame-faehiger Browser findet damit ein zum HTML-Grundgeruest gehoerendes Tag einfach nicht vor. Wer weiss, vielleicht gibt es einen, der einfach nichts anzeigt, wenn es nicht zwischen <body>...</body> steht.
Was ich schade finde, ist, dass aus der HTML4-Spec die erweiterte Verwendung von <noframes> rausgeflogen ist, wie sie in der Draft zur 4er-Spec mal beschrieben wurde, und wie sie im MSIE ab Version 4 auch implementiert ist: dort kann man naemlich <noframes> auch in anderen Dateien benutzen, die im Laufe eines Projekts innerhalb eines Framesets angezeigt werden koennen. Die Bedeutung ist dann, dass das, was innerhalb von <noframes>...</noframes> steht, nur dann angezeigt wird, wenn die Datei gerade nicht im zugehoerigen Frameset angezeigt wird, also etwa durch Suchtreffer in einer Suchmaschine direkt angesprungen wurde. So kann man etwa in jeder Projektdatei, die zu einem Frameset gehoert, so was wie <noframes><a href="index.htm">Diese Seite gehoert zu einem Frameset</a></noframes> notieren. MSIE zeigt den Link nur dann an, wenn die Seite NICHT innerhalb eines Framesets angezeigt wird.
Und DAS ist fuer mich eigentlich die interessantere Verwendung des <noframes>-Tags. Ich verstehe nicht, warum W3 da wieder einen Rueckzieher gemacht hat.
viele Gruesse
Stefan Muenz