3 Das Frameset (index.htm)

In der mittleren Spalte der Tabelle siehst du den Quelltext der Seite. Jede Zelle entspricht einer Zeile Quelltext. In der Spalte "Bemerkungen" ist erklärt, was der Quellcode bewirkt und wie du ihn anpassen musst.

Zeile Quelltext Bemerkungen
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">

Hier brauchst du nix zu ändern. Falls du dieses etwas ungewöhnliche Tag nicht kennst, les dir dazu das Kapitel über "Doctype" in meinem Html-Kurs durch.

2 <html>

So fängt jede HTML- Seite an. Hier gibt's nix zu verändern.

3 <head>

Hier beginnt der Bereich, wo die Seiteneigenschaften festgelegt werden. Was zwischen <head> und </head> steht, ist auf der Seite nicht sichtbar.

4 <title>Friedels Explorer</title>

Zwischen <title> und </title> steht der Seitentitel. Das ist das, was beim Betrachter später in der Titelzeile des Browsers und in dem Button in der Taskleiste steht. Das hat also nix mit dem Dateinamen oder der URL zu tun. Du solltest hier einen Titel, der deine Seite beschreibt, eintragen.

5 <script type="text/javascript">

Hier fängt ein Bereich an, in dem die Dokumentsprache nicht mehr HTML sondern JavaScript ist. Hier darfst du nix ändern.

6 <!--

Diese Zeile wird gebraucht, um eine Fehlermeldung in Browsern, die kein JavaScript beherrschen, zu verhindern. Alles was folgt wird von diesen Browsern ignoriert.

7 function init_ex(level,opened,description,filename,zubild,aufbild) {

Hier wird die Funktion "init_ex" definiert. Sie hat die Parameter, die in der Klammer aufgezählt sind. Hier solltest du nix ändern. Das sollte alles in einer Zeile stehen (und sonst nichts). Die Klammer am Schluss darf in einer eigenen Zeile stehen.

8 this.level=level;

Hier solltest du nichts ändern. Hier werden die Objekte "opened" bis "aufbild" erzeugt.

9 this.opened=opened;
10 this.description=description;
11 this.filename=filename;
12 this.zubild=zubild;
13 this.aufbild=aufbild;
14 };
15 var z=new Array;

Hier wird die Variable "z" definiert. Es handelt sich um ein sogenanntes Array. Das heißt, dass es viele gleichartige Variablen gibt, die durchnumeriert sind. Die Zählung fängt immer bei 0 an. Die Folge der Variablen darf nicht unterbrochen sein. Jedes z enthält die Daten für eine Zeile des Explorers (ob und wie die Zeile dann im Navigationsframe angezeigt wird, wird hier nicht festgelegt).

16 z[0]=new init_ex(0,true,"Beispiel1","Beispiel1.htm",0,0);

Hier wird für jedes z ein Datensatz für die Funktion aus Zeile 7 bis 14 festgelegt. Die Parameter der Funktion legen fest, welche Bedeutung die Daten der Variablen "z" haben.

"level" gibt an auf welcher Ebene der Ordner oder die Seite ist. Die Startseite hat das Level 0. Die Seiten und Ordner, die man von hier aus direkt erreichen kann haben das Level 1. Die Seiten und Ordner, die in eben genannten Ordnern enthalten sind, bekommen Level 2 usw.

"opened" gibt an, ob der Ordner beim Aufrufen der Seite geöffnet sein soll. Es sind die Einträge "true" für offen oder "false" für zu erlaubt. Wenn es sich bei der Zeile nicht um einen Ordner handelt, spielt es keine Rolle, ob true oder false angegeben ist. Die Angabe darf aber nicht weg gelassen werden, weil unbedingt alle Datensätze die gleiche Anzahl und Reihenfolge von Elementen haben müssen.

"description" legt den Text fest, der neben dem Ordner bzw. File stehen soll.

"filename" bestimmt die Adresse und den Dateinamen der aufgerufenen Seite. Der Name mit Pfad kommt in Anführungszeichen. Wenn es sich um einen Ordner handelt, wird natürlich keine Seite aufgerufen. Dann muß der Eintrag weg gelassen werden. Die Anführungszeichen müssen trotzdem bleiben.

"zubild" definiert das Bild, das für die Seite im Explorer erscheinen soll. Bei Ordnern definiert es das Bild für den geschlossenen Ordner. Wenn das Standardbild erscheinen soll, ist der Eintrag 0. Ansonsten sind alle positiven ganzen Zahlen erlaubt. Gleiche Zahlen bedeuten gleiche Bilder.

"aufbild" bestimmt das Bild für einen geöffneten Ordner. Wenn das Standardbild erscheinen soll, ist auch hier der Eintrag 0.

Die gezeigten Einträge entsprechen dem Beispiel aus Friedel_ex.zip.

17 z[1]=new init_ex(1,true,"Beispiel2","Beispiel2.htm",1,0);
18 z[2]=new init_ex(1,false,"Ordner1","",0,0);
19 z[3]=new init_ex(2,true,"Beispiel3","Beispiel3.htm",0,0);
20 z[4]=new init_ex(2,true,"Beispiel4","Beispiel4.htm",0,0);
21 z[5]=new init_ex(1,true,"Ordner2","",0,0);
22 z[6]=new init_ex(2,true,"Beispiel5","Beispiel5.htm",0,0);
23 z[7]=new init_ex(2,true,"Ordner3","",0,0);
24 z[8]=new init_ex(3,true,"Ordner4","",0,0);
25 z[9]=new init_ex(4,true,"Beispiel6","Beispiel6.htm",0,0);
26 z[10]=new init_ex(3,true,"Beispiel7","Beispiel7.htm",2,0);
27 z[11]=new init_ex(3,false,"Ordner5","",0,0);
28 z[12]=new init_ex(4,true,"Beispiel8","Beispiel8.htm",0,0);
29 z[13]=new init_ex(4,false,"Beispiel9","Beispiel9",0,0);
30 z[14]=new init_ex(-1,true,"","",0,0);

Diese Zeile ist notwendig, damit das Script in der nav.htm erfährt, dass die Zeile zuvor der letzte zu berücksichtigende Datensatz war. Wenn dein Explorer beispielsweise 112 Dokumentseiten und 18 Ordner enthalten soll, muß nach den Datensätzen z[130]=new init_ex(-1,true,"","",0,0); kommen (112+18=130. Also z[0] bis z[129]). Wichtig an dieser Zeile ist nur, dass der Wert für level unbedingt -1 ist und dass die Anzahl und Form der Werte stimmt.

31 //-->

Hier endet der Bereich, der in Zeile 6 angefangen hat.

32 </script>

Hier endet der Bereich, der in Zeile 5 angefangen hat.

33 </head>

Hier endet der Bereich, der in Zeile 3 angefangen hat.

34 <frameset cols="210,*" framespacing=0 border=0 frameborder=0>

Hier beginnt ein Bereich in dem festgelegt wird, dass auf der Seite ein Frameset (frame - engl. n. Rahmen, Skelett, Struktur, Körperbau) dargestellt werden soll. Das Frameset soll aus Spalten (cols steht für columns - engl. Spalten). In der Klammer wird die Breite der Frames angegeben. Im Beispiel ist der erste Frame (der Navigationsframe) 210 Pixel breit. Die Angabe * legt fest, dass als Breite der Rest des Fensters verwendet weden soll. Es ist auch möglich die Breite in % an zu geben. Z.B. <frameset cols="40%,60%" border=0 frameborder=0 framespacing=0>.

framespacing=0 border=0 frameborder=0 gibt an, dass zwischen dem Navigationsframe und dem Inhaltsframe kein Rahmen angezeigt werden soll. Leider funktioniert weder der Internet Explorer noch der Netscape Navigator richtig, wenn man die Angabe nach HTML-Spezifikation macht. Daher sind diese 3 Angaben nötig. border=[Pixel] ist Netscape-Syntax und bestimmt die Breite der Rahmen in Pixel. Erlaubt sind Zahlenwerte von 0 (keine Rahmen anzeigen) und größer (border - engl. Rahmen). frameborder=[1/0 oder yes/no] ist nach Microsoft-Syntax die Angabe, ob 3D-Rahmen angezeigt werden sollen oder nicht. framespacing=[Pixel] ist Microsoft-Syntax und bestimmt den Abstand zwischen Frames, und dadurch also die Breite der Rahmen in Pixel (spacing - engl. Abstand).

35 <frame src="nav.htm">

Hier wird festgelegt, was im ersten Frame gezeigt werden soll. frame src="nav.htm" gibt an, dass die Datei nav.htm, die sich im selben Verzeichnis wie das Frameset befindet, gezeigt werden soll. Wenn die Seite nicht im selben Verzeichnis steht, muß hier auch der Pfad angegeben werden. Es sind natürlich auch ganze URLs (absolute Pfade) erlaubt.

36 <frame src="Beispiel1.htm" name="inhalt" scrolling="auto">

Hier wird festgelegt, was im zweiten Frame gezeigt werden soll. Da wird also die Beispiel1.htm gezeigt. Da auf diesen Frame aus anderen Seiten und Frames zugegriffen wird (z.B. als Ziel für die Links im Explorer), ist es notwendig dem Frame einen Namen zu geben. name="inhalt" definiert, dass dieser Name "inhalt" ist. scrolling="auto" gibt an ob in diesem Frame scrollbars gezeigt werden sollen. Möglich sind die Werte "yes" für immer anzeigen, "no" für nie anzeigen und "auto" für bei Bedarf anzeigen. Im Beispiel werden also nur Scollbars gezeigt, wenn der Seiteninhalt nicht in den Frame passt. Die Angabe scrolling="auto" kann man auch weglassen, den wenn man nichts angibt, blendet der Browser die Scrollbars auch nach Bedarf ein.

37 </frameset>

Hier endet der Bereich, der in Zeile 33 angefangen hat.

38 </html>

So endet jede HTML- Seite.

Weiter geht's mit der Anpassung der nav.htm auf der Seite "Die Navigationsseite"


Um einen Link zu setzen, der direkt auf diese Seite führt, verwende folgende Url: