Patrick und Andreas: Verweise auf frames (wieder mal..)

Beitrag lesen

Hallo Melanie!

Ich will aus einer normalen Seite auf eine framedefinierende Seite verweisen. Dort sollen allerdings, je nach Verweis, verschiedene Inhalte gezeigt werden. Ich will aber nicht fuer jeden
Verweis einfach ein neues Frameset definieren; das waere echt viel Arbeit, sondern nur ein einziges. Denke, mit Javascript sollte das gehen...hat das schon mal wer irgendwo gesehen ?

Folgendes haben wir auf den Seiten von "Scriptine" Kühnel gefunden:

Im der Framesetdefinitionsdatei plazierst Du folgenden Script im Header:

<HTML>
<HEAD>
<TITLE>Dein Dateititel fürs Frameset</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function datei_laden()
{
   neu_url = self.location.search;
   anker = self.location.search.indexOf('*');
   if(neu_url.length > 0)
    if (anker == -1)
         self.Hauptanzeigeframe.location.href =
        neu_url.substring(1,neu_url.length);
  else
         self.Hauptanzeigeframe.location.href = neu_url.substring(1,anker)
      + '#'
    + neu_url.substring(anker+1,neu_url.length);
}
</SCRIPT>
</HEAD>

Im obigen Script ersetzst Du vorher "Hauptanzeigeframe" durch den tatsächlichen Namen Deines Anzeigeframes, also "rechts", "text", oder was immer Du für einen Namen gewählt hast.

Im <FRAMESET>-Tag musst Du noch die Funktion aufrufen, und zwar mit dem Event-Handler onLoad(), da das Frameset gleich mit der entsprechenden Datei geöffnet werden soll:
<frameset Cols="215,*" border=0 onload="datei_laden();">
   <frame name="links" src="links.htm">
   <frame name="Hauptanzeigeframe" src="home.htm">
</frameset>

Hier wird im Normalfall die Datei "home.htm" im Anzeigeframe geladen.

Du möchtest aber Verweise setzen, die das Frameset mit anderen Dateien öffnet. Dank des oben beschriebenen Scripts geschieht dies, wenn Du die Verweise wie folgt definierst (das Frameset ist "frames.htm"):

<a href="frames.htm?datei1.htm*anker1">Verweis1</a>
<a href="frames.htm?datei2.htm*anker2">Verweis2</a>
<a href="frames.htm?datei3.htm*anker3">Verweis3</a>

Wenn kein Anker angesprungen werden soll, lass einfach den Stern und "anker1" usw. weg!

Funktioniert auf jeden Fall mit Netscape ab 4 und IE 4 und 5 (mit IE 4 nur in einer online-Umgebung).

Bis danndann und Bis *dannundwann*
PUA (patrickundandreas)