PullDown-Menü Ergebnisse nicht alle in den selben Frame
Robby
- javascript
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!
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