2 Frames Namen
    


Home

Demo  DOWNLOAD  Quelltext  ZURÜCK SITEMAP  

  2 Frameinhalte gleichzeitig ändern   (Framename)

Innerhalb eines Framesets sollen über eine Navigation beim Anklicken eines Links Inhalte von zwei Frames gleichzeitig ausgetauscht werden. Bei der Tauschaktion erfolgt die 'Ansprache' hier über die Namen der Frames, die bei der Definition des Framesets vergeben wurden.

2 Varianten:  Fixer Eintrag der Framenamen / Übergabe der Framenamen


   Den Frame beim Namen 'ansprechen'?

Voraussetzung ist, dass sie bei der Definition des Framesets jedem Frame einen Namen zuzuordnen. Über diesen namen kann man später den Frame ansprechen. Verbal ausgedrückt könnte die Anweisung so lauten:

Zeige im Frame mit dem Namen "inhalt" die Datei "dateiname1.htm"


   Frameset-Definition mit Namensvergabe für Frames

Voraussetzung für die Funktion des Scripts ist die Vergabe von Namen für die einzelnen Frames bei der Frameset-Definition. Hier ein Beispiel einer Framesetdatei mit 3 Frames, bei dem für die Frames die Namen 'oben', 'bav' und 'anzeige' vergeben werden.

Frame 1 für das Hauptmenü
vergebener Name: oben

Frame 2 für das Untermenü
vergebener Name: nav

Frame 3 für den Inhalt
vergebener Name: anzeige


<frameset rows="120,*">
 <frame src="haupt.htm" name="oben">
 <frameset cols="200,*">
  <frame src="nav01.htm" name="nav">
  <frame src="1b.htm" name="anzeige">
 </frameset>
</frameset>



   Aufgabenstellung

Praktisches Beispiel einer Anwendung:

Durch einen Mausklick auf einen Menüpunkt im Hauptmenü (im Frame '0') der Internetseite soll nicht nur das Untermenü (im Frame '1') ausgetauscht sondern auch die dazu passende Startseite (im Frame '2') angezeigt werden.

Zur Anschauung:

Nach dem ausgeführten Mausklick soll die Ansicht der Seite dann so aussehen.

Die beiden neuen Dateien werden im Frame mit der Nummer '1' und im Frame mit der Nummer '2' angezeigt.



   2 Frameinhalte gleichzeitig ändern

Methode 1 - Bei diesem Script sind die Framenamen fest integriert.

Bei dieser Methode muss der Funktion lediglich mitgeteilt werden, welche beiden neuen Dateien angezeigt werden sollen. Der Ort für die Anzeige (in welchem Frame) ist im Script festgeschrieben. Diese Methode macht nur dort Sinn, wo die Anzeige ausschließlich auf zwei bestimmte Frames beschränkt werden kann. Flexibler ist die Methode 2 (siehe weiter unten).

Im Head-Bereich der Navigationsdatei wird das Script notiert. Dabei sind die Namen der Frames, in denen die neuen HTML-Dateien angezeigt werden sollen bereits eingetragen (hier 'nav' und 'anzeige'). Der Funktion werden lediglich die beiden Dateinamen übergeben. Das geschieht über die Parameter URL1 und URL2.

<script type="text/javascript" language="JavaScript">
<!--

function ZweiFrames(URL1,URL2)
{
parent.nav.location.href = URL1;
parent.anzeige.location.href = URL2;
}

-->
</script>
Die Funktion erwartet beim Aufruf 2 Werte:

1) den Dateinamen für den Frame mit dem Namen "nav" (URL1)
2) den Dateinamen für den Frame mit dem Namen "anzeige" (URL2)

Die Links im Body-Bereich beinhalten den Funktionsaufruf mit der Übergabe der beiden Dateinamen. Wichtig: Die Dateinamen stehen in eingestrichenen Anführungszeichen (Hochkommas)

<a href="javascript:ZweiFrames('navi02.htm','start02.htm')">Blumen</a>

<a href="javascript:ZweiFrames('navi03.htm','start03.htm')">Bäume</a>



Methode 2 - Hier werden der Funktion die Framenamen zusätzlich übergeben.

Bei dieser Methode müssen der Funktion 4 Informationen übermittelt werden

a) wie die Dateinamen der beiden Dateien lauten
b) wie die beiden Framenamen für die Anzeige dieser neuen Dateien lauten

Mit dieser Methode ist man flexibler (besonders bei einem Frameset mit mehr als 2 Frames), weil man die Funktion auch für den Tausch in unterschiedlichen Frames nutzen kann.

Im Head-Bereich der Navigationsdatei wird dieses Script notiert. Die Funktion nimmt neben den beiden Dateinamen auch 2 Framenamen entgegen. Das geschieht über die 4 Parameter URL1 + FName1 und URL2 + FName2.

<script type="text/javascript" language="JavaScript">
<!--

function TwoFrames(URL1,FrameName1,URL2,FrameName2)
{
parent[FrameName1].location.href = URL1;
parent[FrameName2].location.href = URL2;
}

-->
</script>
Die Funktion erwartet beim Aufruf 4 Übergabeparameter:

1) den 1. Dateinamen (URL1)
2) den Framenamen für die Anzeige der 1. Datei
3) den 2. Dateinamen (URL2)
2) den Framenamen für die Anzeige der 2. Datei

Die im Body-Bereich notierten Links beinhalten den Aufruf der Funktion mit der Übergabe der 4 Werte. Wichtig: Die Dateinamen und auch die Framenamen stehen in eingestrichenen Anführungszeichen (Hochkommas)

<a href="javascript:TwoFrames('navi02.htm','nav','start02.htm','anzeige')">
Linktext 02
</a>

<a href="javascript:TwoFrames('navi03.htm','nav','start03.htm','anzeige')">
Linktext 03
</a>




   Download HP-Vorlage F03

1) Oben im Kopf dieser Beispieldatei können sie ein Beispiel der Funktion aufrufen und außerdem das Demo mit allen zugehörigen Dateien als ZIP herunterladen.

2) Im Menü links habe ich ein weiteres Beispiel zu diesem Thema eingetragen. Diese beispieldatei hat 6 Frames und öffnet in einem neuen Browserfenster. Demo

3) Die Homepage-Vorlage Frames F03 nutzt das JavaScript zum Tausch von 2 Frameinhalten gleichzeitig in der Variante 01 (Framenamen im Script fest eingetragen). Die Vorlage steht im Menü 'Downloads' zur Verfügung.

Demo (öffent im neuen Browserfenster)     DOWNLOAD





19.05.2002   

NACH OBEN