Wie linkt man auf ein Frameset - Unterer Frame abhängig von link

mycal2

Grünschnabel
Hallo Profis,

großes Problem für mich, kleines Problem für euch.

Ich habe auf einer Startseite mehrere links, die alle auf ein Frameset linken (popup), welches aus 2 Frames besteht:
frameset.jpg

Frame 1 ist immer gleich, sozusagen, die Navigation
Frame 2 ist der Contentframe der verschiedene Inhalte haben kann

Aufgabe:
Wenn man auf einen link auf ser Startseite klickt, soll das Framset geladen werden, aber der Frame 2 soll eine bestimmte Seite anzeigen, abhängig von dem link auf der Startseite.

Beispiel:
Startseite:
Link 1 = Fussball
Link 2 = Formel1

Wenn user Link 1 klickt, dann popup mit
Frame 1 = Navigation (immer gleich)
Frame 2 = Fussball.htm

Wenn user Link 2 klickt, dann popup mit
Frame 1 = Navigation (immer gleich)
Frame 2 = Formel1.htm

Normalerweise würde ich die URL der Seite einfach in die URL mit reinschreiben und das Frameset soll diesen Wert auslesen und mit diesem Frame2 laden.

Da wir aber hier nur Javascript verwenden habe ich keine Idee wie das geht.
Wer kann hier helfen ?
Belohnung: Eure Hilfe läuft dann auf einer Seite mit 10 Mio. PI pro Monat ;-)
 
Hi,

es ist auch möglich, URL-Parameter mit JavaScript auszuwerten. So könntest du die gewünschte
Seite als Parameter mitgeben, in der Frameseite auswerten und im entsprechenden Frame
ausgeben.

Möglich wäre zum Beispiel folgendes Konstrukt:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
   "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>FrameIndex</title>
<script type="text/javascript">
  <!--
 /* *********** URL-PARAMETER AUSWERTEN UND ASSOZIATIVES ARRAY ERSTELLEN ************ *
  * Folgendes Script wertet Parameter aus, die über die URL übergeben wurden und er-  *
  * stellt daraus ein assoziatives Array mit dem Namen "arrGet".                      *
  * --------------------------------------------------------------------------------- *
  * Beispiel: www.domain.de/index.html?param1=wert1&param2=wert2&param3               *
  * Ergibt folgendes assoziatives Array:                                              *
  * arrGet['param1'] -> wert1                                                         *
  * arrGet['param2'] -> wert2                                                         *
  * arrGet['param3'] -> param3                                                        *
  *                                                                      Quaese, 2004 *
  * ********************************************************************************* */

  // Array für Parameter deklarieren
  var arrGet = new Array();

  // Falls Parameter über die URL übergeben wurden
  if(window.location.search != ""){
    // Parameter-String auslesen
    var strParam = window.location.search;
    // Fragezeichen am Anfang des Strings entfernen
    strParam = strParam.substr(1,strParam.length);
    // Einzelne Parametergruppen splitten
    var arrGroups = strParam.split("&");

    // Hilfsarray deklarieren
    var arrHelp = new Array();

    // Alle Gruppen durchlaufen
    for(var i=0; i<arrGroups.length; i++){
      // Parametergruppe am Gleichheitszeichen erneut splitten
      arrHelp = arrGroups[i].split("=");

      // Falls es sich um eine Variable mit dazugehörigen Wert handelt
      if(arrHelp.length == 2)
        arrGet[arrHelp[0]] = arrHelp[1];

      // Falls es sich um eine Variable ohne dazugehörigen Wert handelt
      if(arrHelp.length == 1)
        arrGet[arrHelp[0]] = arrHelp[0];

      // Array wieder löschen
      arrHelp.length = 0;

    }	// ENDE - for(var i=0; i<arrGroups.length; i++)
  }
// -->
</script>
</head>
  <script type="text/javascript">
  <!--
    document.write("<frameset rows=\"200,*\">\n");
    document.write("<frame src=\"navigation.html\" name=\"navFrame\">\n");
    // Mainframe-Dokument einbinden
    if(arrGet['url']){
      // FrameSet mit übergebener URL aufrufen
      document.write("<frame src=\""+decodeURI(arrGet['url'])+"\" name=\"dokFrame\">\n");
    }else{
      // Frameset mit StandardDokument aufrufen
      document.write("<frame src=\"dok1.html\" name=\"dokFrame\">\n");
    }
    document.write("<noframes>Ihr Browser unterstützt keine Frames<\/no"+"frames>\n");
    document.write("<\/fra"+"meset>\n");
  //  -->
  </script>
  <noscript>
    <frameset rows="200,*">
      <frame src="navigation.html" name="dokFrame">
      <frame src="dok1.html" name="dokFrame">
      <noframes>
        Ihr Browser unterstützt keine Frames
      </noframes>
    </frameset>
  </noscript>
</html>
Dem Dokument wird die gewüschte Seite über den Parameter url in der URL mitgegeben.

Z.B. Einbinden des Links im Startdokument mit JavaScript
HTML:
<script type="text/javascript">
  <!--
  document.write("<a href=\"index_url_auswertung.html?url="+encodeURI("fussball.html")+"\">Fussball</a>");
 //-->
</script>
Vielleicht hilft dir das ja weiter.

Ciao
Quaese
 
Danke. dir ich hab es sehr ähnlich gelöst.
Allerdings kein Array, da ich nur einen Wert übergebe.

Aber es .

:-)
 

Neue Beiträge

Zurück