Frames teilen das Browserfenster in verschiedene Bereiche ein, in denen jeweils eine eigenständige HTML-Seite ausgeführt werden kann. Dies ist besonders geeignet zur Navigation, Bannerwerbung oder für Partnerlinks. Die Startseite hat selber keinen auszugebenden Inhalt sondern enthält lediglich die Framesdefinition. Zusätzlich können noch Angaben wie Meta Tags oder Hinweise für nicht framesfähige Browser integriert werden. Diese Framesdefinition lädt die eigentlichen HTML-Seiten in die dafür vorgesehenen Bereiche des Browserfensters. Alle hier beschriebenen Funktionen lassen sich sehr bequem mit meinem [Frames Generator] ausprobieren. Die Erklärungen sind in HTML ausgeführt und müssen für jeden WYSIWYG-Editor entsprechend von Dir angepaßt werden da dies den Rahmen der Seite sprengen würde.
[nach oben] Schematischer Aufbau So sieht der schematische Aufbau aus. Die Frames-Definition gehört zwischen dem HTML-Bereich und dem BODY-Bereich.
<HTML>
<HEAD> <title>Deine-Homepage</title> </HEAD> <frameset ...> ... genaue Angaben zu den einzelnen Frames </frameset> </HTML> Eingeleitet wird die Definition mit <frameset> wobei hier noch weitere Parameter übergeben werden können. Für jeden einleitenden Tag muß auch ein Endtag, </frameset>, eingebunden werden. Gerade bei verschachtelten Frames ist es sehr wichtig die Endtags auch an der richtigen Stelle zu setzen da sonst das Ergebnis fehlerhaft ist. [nach oben] Reihen und Spalten :
Die Einteilung kann beliebig erweitert werden. Ein Frameset mit 4 Spalten würde z.B. so definiert: cols="15%,35%,35%,15%"> Neben der relativen Größenangabe in % kannst Du auch eine feste Größe in Pixeln vorgeben. z.B. <frameset rows="100,*"> . Das Sternchen fungiert als Joker und weist dem Fenster den gesamten, noch zur Verfügung stehenden Platz zu. In diesem Fall bekommst Du ein Fenster von 100 Pixeln am oberen Bildschirmrand und darunter ein Fester, das den restlichen Platz im Browser einnimmt. Selbstverständlich darf nur ein Sternchen in Deiner Definition vorkommen. Um Reihen und Spalten gemischt einzusetzen mußt Du mit verschachtelten Frames arbeiten. In diesem Fall wird der Bildschirm nacheinander mehrmals aufgeteilt bis das gewünschte Ergebnis erscheint. Hier mal ein vereinfachte Definition welche erst den Bildschirm in zwei Spalten und dann die zweite Spalte wieder in zwei Reihen unterteilt. Die Anmerkungen in Klammern sind nur zur Erklärung.
<frameset cols="160,*"> [nach oben] Frames und deren Inhalte : Nach der eigentlichen Definition der Bereiche des Anzeigenfensters, Frameset, mußt Du nun festlegen in welchem Teil welche Seite gezeigt werden soll. Zusätzlich bekommt jeder Bereich einen eigenen, unverwechselbaren Namen. Dies ist nötig damit später über spezielle Anweisungen bei den Verweisen auch andere Seiten in die Bereiche geladen werden können. Außerdem können auch hier noch weitere Parameter übergeben werden.
Beispiel: Erstellen wir eine Seite mit 3 Frames. Links das Navigationsmenü, die Seite heißt menue.htm das Frame links, rechts-oben einen Bannerwerbeplatz, die Seite heißt banner.htm das Frame oben und darunter das Hauptfenster welches wir main.htm und das Frame hauptfenster nennen. <frameset cols="160,*"><frame src="menue.htm" name="links"> <frameset rows="100,*"> <frame src="banner.htm" name="oben"> <frame src="main.htm" name="hauptfenster"> </frameset> </frameset> Anmerkung: In diesem Beispiel liegen alle HTML-Dateien im selben Verzeichnis wie die Seite mit der Frames-Definition. Sollen Seiten aus Unterverzeichnissen oder von anderen Servern eingebunden werden ist der Link in src="x" entsprechend anzupassen. So könnte hier auch z.B. src="werner/main.htm" oder src="http://www.dieDomäne/werner/main.htm" stehen. [nach oben] NoFrames Bereich : Im NoFrames Bereich kannst Du einen alternativen Text oder auch ein Menü für Browser ablegen die keine Frames darstellen können. Außerdem kannst Du hier Links zu Deinen Unterseiten ablegen damit Suchmaschinen, welche Frames nicht richtig indexieren können, auch Deine Unterseiten finden. Beispiel :
<HTML>
<HEAD> <title>Deine-Homepage</title> </HEAD> <frameset ...> ... genaue Angaben zu den einzelnen Frames <noframes> Leider unterstützt Dein Browser keine Frames. Du kannst meine Seiten aber trotzdem besuchen. Klick einfach auf die folgenden Links.<br><br> <a href="main.htm">Startseite</a><br> <a href="banner.htm">Bannerwerbung</a><br> </noframes> </frameset> </HTML> [nach oben] Verweise (Links) : Alle normalen Links öffnen im selben Frame die angewählte Seite. Möchtest Du nun aber ein neues Browserfester öffnen, das Frameset beenden oder eine Seite in einem anderen Frame öffnen muß mit dem Link ein Ziel, Target, übergeben werden.
Beispiel : Du möchtest in der Navigation aus dem Beispiel Frames und deren Inhalte zwei Links unterbringen von denen der erste die Seite witze.htm im Hauptfenster anzeigt und die Seite von Dauerstress in einem neuen Fenster öffnet. <a href="witze.htm" target="hauptfenster">Witze</a><a href="http://www.dauerstress.de" target="_blank">Dauerstress</a> Alle Editoren, die mit Frames umgehen können, haben einen Einfache Funktion ( Ziel, Zielframe, Target oder so ähnlich ) um einem Link die nötigen Informationen mitzugeben. Siehe hierzu in die Hilfefunktion deines Editors. [nach oben] mehrere Frames ändern : Um mehrere Frames mit nur einem einzigen Link ( Klick ) zu ändern muß auf ein kleines Java-Script zurückgegriffen werden. Bitte in den HEAD-Bereich der Seite einfügen :
<SCRIPT LANGUAGE="JavaScript">
<!-- function Fenster(URL1,URL2,URL3) { parent.Frame1.location.href=URL1; parent.Frame2.location.href=URL2; parent.Frame3.location.href=URL3; } //--> </SCRIPT> Anstelle von Frame1 Frame2 Frame3 mußt du hier die im Frameset mit name= vergebenen Namen eintragen. Dies ist der Link. Bitte in den BODY-Bereich der Seite einfügen :
<A HREF="javascript: Fenster ('seite1.htm','seite2.htm','seite3.htm')">
In diesem Link-Code mußt du die URLs seite1.htm seite2.htm seite3.htm gegen deine Seitennamen austauschen, die in die entsprechenden Frames geladen werden sollen. Hast du nur zwei Frames die geändert werden sollen, ist im Fuktionsaufruf des Java-Scripts ,URL3 und die Zeile parent.Frame3.location.href=URL3; sowie im Link ,'seite3.htm' zu löschen. Analog dazu können, durch die Erweiterung der Anweisungen, weitere Frames geändert werden. Copyright: Dauerstress - Alles kostenlos für die eigene Homepage |