Zwar kann noch kein Atari-Browser sie darstellen, aber sie werden trotzdem heiß diskutiert - die Frames.
Für alle, die nicht wissen, was Frames sind, sei hier gesagt, dass es sich um eine Art Rahmen handelt, den man benutzen kann, um den Bildschirm in verschiedene Bereiche einzuteilen. Diese Bereiche können dann unabhängig voneinander bearbeitet werden - z.B. ist es möglich in einem Teil ein Bild darzustellen und in dem anderen Teil einen Text. Das Bild könnte permanent über dem Text stehen, selbst dann, wenn man mit einem Verweis eine andere Seite aufruft. Sinnvoll eingesetzt erleichtern Frames die Navigation durch Internet-Seiten. Man findet sie deshalb recht häufig beim Surfen durch das Internet. Wie eingangs erwähnt, kann CAB noch keine Frames darstellen. Da Frames aber sehr verbreitet sind, wird es zwangsläufig irgendwann einen Atari-Browser geben, der Frames darstellt. Um die Beispiele schon jetzt darzustellen, braucht man den Netscape Navigator.
Frame-Tags (Tag: HTML-Befehl) werden grundsätzlich vor dem -Tag angegeben. Man kann Frames dabei sowohl Spalten- als auch Zeilenweise definieren. Am besten fangen wir mit einem einfachen Beispiel (Listing 1) an und beschränken uns auf die Zeilenweise Definition. Mit wird ein Frame begonnen. Als Attribut steht in diesem Beispiel rows="60,*". Hier ist schon die Definition für zwei Frames enthalten - die 60 und der Stern sind die Größenangaben. '60' ist eine Größenangabe in Pixel (Prozent wäre ebenfalls möglich). Es definiert die Höhe des ersten Frames, bei Spalten wäre es die Breite. Der Stern sagt Netscape, dass er einfach den Rest des Fensters dem zweiten Frame zuschlagen soll.
Die beiden Frames werden wie unterschiedliche Fenster behandelt, d.h. sie können verschiedene Dateien darstellen und ihre Größe verändern. Wie bei Bildern muss deshalb angegeben werden, was dargestellt werden soll:
verweist auf die Datei 'f_oben.htm'. Beim Anzeigen der Seite wird Netscape sowohl 'f_oben.htm' als auch 'f_unten.htm' laden und in den entsprechenden Frames anzeigen. 'name=' gibt dem Frame-Fenster einen Namen, der später noch wichtig sein wird.
Mit beendet man die Frame-Definition, das illustrierte Beispiel seht Ihr in Bild 1. Spalten werden ganz analog definiert, nur heißt es statt 'rows=' dann 'cols='. Es ist auch möglich, beides zu mischen (Bild 2 & Listing 2), da lohnt es sich ein bißchen zu experimentieren. Zusätzlich lassen sich noch einige Parameter zu den einzelnen Frames angeben. Sie werden der Frame-Definition hinzugefügt. Beim obigen Beispiel könnte man noch folgendes ändern:
Zwei Parameter sind in diesem Beispiel neu. 'noresize' bewirkt, das man die Größe des Frames nicht mehr mit der Trennlinie verändern kann. Mit 'scrolling=no' erreicht man, dass auch keine Pfeile mehr erscheinen, mit denen man sich den Rest der Seite anschauen kann.
Beide Parameter dienen eher der "künstlerischen Freiheit". Im Normalfall sollte man es dem Benutzer überlassen, wieviel Platz die einzelnen Frames einnehmen sollen. Man sollte außerdem den Bildschirm nicht zu sehr mit Frames "zupflastern", denn auf Computern, die nur mit einer Auflösung von 640*480 Bildpunkten arbeiten, wird man kaum noch etwas vom eigentlichen Text sehen. Die Frage nach dem Nutzen sollte man also stellen. Im Beispiel auf Bild 1 sind Frames ganz nützlich: Im oberen Frame gelang man mit einem Mausklick in die Bereiche 'Emulatoren', 'Index' usw. und im unteren Frame erscheinen die entsprechenden Texte. So wird die Navigation durch umfangreiche Werke erleichtert.
Das sollte man tunlichst vermeiden, da sonst ein Frame in einem Frame aufgebaut wird. Wenn es aber dennoch nicht anders geht, sollte dem Verweisbefehl ein neuer Parameter hinzugefügt werden: target="_parent". Dadurch werden die Frames entfernt. Statt '_parent' kann man aber auch den Namen des Frame-Fensters angeben.
Frames sind eine Erfindung vom amerikanischen Hersteller Netscape. Wer sich die Anleitung von CAB durchliest, wird auch auf den Begriff 'Netscape-Erweiterungen' stoßen. Die Frames sind allerdings die meistdiskutierte Erweiterung von Netscape. Browser, die nicht Frames beherrschen, werden die Frame-Definitionen ignorieren. Danach steht aber in der Regel kein Text, bzw. nur die lapidare Meldung 'Ihr Browser kann keine Frames darstellen.', so dass diese Browser in die Lehre laufen und dadurch keinen Zugriff auf das Internet-Angebot dieser Seite haben. Bei CAB wird zum Glück eine Liste der Dateien der Frames angezeigt, so dass man sich diese Seiten immer noch ansehen kann. Das Browser ins Leere laufen, kann man aber mit einem ganz einfachen Trick verhindern, der leider noch viel zu wenig benutzt wird:
Dieser Trick macht sich genau die Tatsache zu nutzen, das Browser, die keine Frames darstellen können, diese Befehle ignorieren. Nachdem die Framedefinition mit abgeschlossen wurde, fügt man einfach eine Alternativseite hinzu. Diese Alternativseite enthält den Inhalt der Frames. Das sieht nicht nur besser aus als die Minimal-Lösung von CAB, sondern ermöglicht es auch allen Browsern, etwas mit der Seite anzufangen. Ein Beispiel ist in Bild 2 und Bild 3 zu sehen. Netscape wird diese Alternativ-Seite nie anzeigen, da es sich nach Beendigung der Frame-Definition nur noch um seine Frames kümmert.
Benutzt man diesen Trick und vermeidet Verschachtelungen von Frames, so spricht eigentlich nichts mehr gegen den Einsatz derselben. Man sollte dann aber auch in anderen Bereichen auf Kompatibilität zu anderen Browsern achten, z.B. bei der Farbdefinition, die mit Rücksicht auf ältere Browser nur in der Hexadezimalform erfolgen sollte. Abschließend bleibt zu hoffen, das auch die beiden Atari-Browser bald Frames direkt darstellen können.
Listing 1 | Listing 2 |
---|---|
<frameset rows="60,*"> |
<frameset cols="15%,"> |