Robby: PullDown-Menü Ergebnisse nicht alle in den selben Frame

Hallo,

ich habe mal eine Frage:
Ich habe als Navigation eine Pull-Down Leiste auf meiner Homepage eingebunden.

Durch ein Java Script, werden die Seiten, die über dieses Pull-Down Menü angewählt werden, in einem Frame Namens "Hauptframe2" angezeigt.

Das Script sieht folgendermaßen aus:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function formHandler(form){
var URL = document.form.site.options[document.form.site.selectedIndex].value;
parent.Hauptframe2.location.href = URL;
}
// End -->
</SCRIPT>

Ich habe aber ein paar Seiten, die nicht in diesem "Hauptframe2" angezeigt werden sollen. Sie sollen stattdessen in einem neuen Fenster (also target=_self) oder auf der ganzen Seite (target=_top) geöffnet werden.

Wie muss ich das Script verändern? Oder was muss ich tun, um dies zu realisieren?

DANKE im Voraus!

  1. Hallo Robby, (noch so einer ;-)

    Ich habe aber ein paar Seiten, die nicht in diesem "Hauptframe2" angezeigt werden sollen. Sie sollen stattdessen in einem neuen Fenster (also target=_self) oder auf der ganzen Seite (target=_top) geöffnet werden.

    Wo ist das Problem? Da musst du halt den targetframe adressieren, und dann wie gehabt über location.href die Seite aufrufen. Allerdings öffnet ein Verweis mit target="_self" kein neues Fenster, sondern ruft die Datei in dem aktuellen Frame auf. Eine neue Seite kannst du über open() öffnen.

    Du könntest zum Beispiel direkt im Pulldown-Menü zu den Einträgen dazuschreiben, wo sie geöffnet werden sollen. Etwa so:

    <option value="neu_datei1.htm">Datei 1 in neuem Fenster öffnen</option>
    <option value="top_datei2.htm">Datei 2 öffnen und Frameset beenden</option>
    <option value="self_datei3.htm">Datei 3 in diesem Fenster öffnen</option>
    <option value="Hauptframe2_datei4.htm">Datei 4 in Hauptframe2 öffnen</option>

    Dann könntest du die Funktion so schreiben:

    function formHandler(form) {
      var Anweisung = document.form.site.options[document.form.site.selectedIndex].value;
    /*                ^^^^^^^^^
        verstehe ich nicht, scheint bei dir aber ja zu funktionieren.  */

    var teilAnweisung = Anweisung.split("_");
      if (teilAnweisung[0] == "neu")  open(teilAnweisung[1],"neuesFenster","");
      else if (teilAnweisung[0] == "top")  top.location.href = teilAnweisung[1];
      else if (teilAnweisung[0] == "self")  self.location.href = teilAnweisung[1];
      else parent.frames[teilAnweisung[0]].location.href = teilAnweisung[1];
    }

    Viel Erfolg,
    Robert