PopUp soll Link in Mutterseite öffnen
gloeckle
- javascript
Olla,
Ich öffne ein PopUp. Der Link in diesem Fenster lädt ein Frameset in das Fenster und resized die Größe. Aus der letzten Inhalt (das Frameset) möchte ich nun per Link Seiten im Mutter-/Hauptfenster öffnen.
Das funktioniert irgendwie nur wenn ich den Code im ersten Inhalt des Fensters ausführe, im Frameset geht nichts!
Woran könnte das liegen?
Das ist der Code:
<a href="java script: opener.location.href='bestaetigungsseite3';self.close();"> LINK ZUR MUTTERSEITE</a>
Er sollte aber nicht über eine Textlink sonder über Hotspots (Imagemap) aufgerufen werden.
Danke, gloeckle
Moin Moin !
Ich öffne ein PopUp.
Glaub ich schon mal nicht. Damit ist Dein Problem eigentlich schon gelöst.
Such mal (im Forumsarchiv, in SelfHTML, in Google) nach opener.
Alexander
Hei ;)
Entschuldigung für meine falsche Ausdrucksweise, aber es funktioniert ja alles bis auf den "Link"!
Du willst es nicht anders( :D ), hier der Code:
<script LANGUAGE="JavaScript">
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=270,height=170,left = 312,top = 143.5');");
}
// End -->
</script>
Aufrufen des Scriptes:
<body onload="parent.top1.location.href='main_titel.htm';popUp('angebot.htm')">
So, nun "erscheint" also beim Aufruf der Hauptseite ein PopUp.
Im PopUp ist eine verlinkte Grafik, die bei Klick eine neue Seite lädt: bla_alles.htm. Diese Frameset besteht aus 3 HTML-Seiten: bla_titel, bla_main, und bla_nav. In bla_nav ist eine ImageMap, die a) bei Klick auf "Kontakt" im Hauptfenster die Kontaktseite öffnen sollte und b) bei Klick auf "Startseite" die Startseite (home) öffnen sollte. Bei beiden Links soll sich das PopUp schließen.
Den Link versuche ich mit
<area shape="rect" coords="12,8,129,38" href="javascript:opener.location.href='Kontakt.htm'">
dem hier aufzurufen. Geht nicht.
Wenn ich aber im ersten Inhalt des Fensters (die verlinkte Grafik) einen Textlink mit den Attributen setzte, funktoniert es!
Woran könnte das liegen?
Ich verzweifle an diesem popeligen Problem (versuche es schon seit zwei Arbeitstagen, mein Chef stresst ungemein). Bin halt auch kein ausgebildeter Webdesigner sonder eher Printler...
Gruß, gloeckle
Moin Moin !
<script LANGUAGE="JavaScript">
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=270,height=170,left = 312,top = 143.5');");
Wozu eval ?
Die gebastelte Rückgabevariable benutzt Du ohnehin nicht. Sauber wäre ein assoziatives Array, wenn Du es wirklich bräuchtest.
window.open(URL,id,'....'); würde reichen.
day und id sind globale Variablen, das willst Du wohl kaum.
Wozu willst Du überhaupt immer mehr popups öffnen ? Das macht weder Spaß noch Sinn. Also nimm einen eindeutigen Fensternamen.
window.open(URL,'I_am_so_stupid_that_I_always_need_popups','...');
}
// End -->
</script>Aufrufen des Scriptes:
<body onload="parent.top1.location.href='main_titel.htm';popUp('angebot.htm')">
Probier mal, die Zuweisung und den Funktionsaufruf zu vertauschen. Ich bin mir nicht sicher, ob Zuweisungen an location.href zurückkehren.
Bei beiden Links soll sich das PopUp schließen.
Noch ein Problem, daß Du ohne PopUps nicht hättest.
I_am_so_stupid_that_I_always_need_popups.close();
Den Link versuche ich mit
<area shape="rect" coords="12,8,129,38" href="javascript:opener.location.href='Kontakt.htm'">
dem hier aufzurufen. Geht nicht.
Kennst Du das TARGET-Attribut ?
Alexander
Hallo,
<body onload="parent.top1.location.href='main_titel.htm';popUp('angebot.htm')">
Probier mal, die Zuweisung und den Funktionsaufruf zu vertauschen. Ich bin mir nicht sicher, ob Zuweisungen an location.href zurückkehren.
Nein.
Kennst Du das TARGET-Attribut ?
Das bringt hier nichts.
Es geht darum, dass die Referenz auf das window-Objekt des das Popup öffnenden Fenster verloren geht, wenn im Popup-Fenster eine neue Seite geladen wird.
Abhilfe: Alle Folgeseiten im Popup nur in einem nicht sichtbaren Frameset öffnen, welches nur einen Frame enthält (hundert Prozent Breite und Höhe, mit solchen Framesets arbeiten Weiterleitungsdienste). Dieses Frameset darf nicht geändert werden, bis das Popup-Fenster geschlossen wird und muss immer über das top-Objekt erreichbar sein.
Auf der zweiten Seite im Popup-Fenster, welches das angesprochene Frameset ist, ließe sich aus dessen Frames über top oder parent.parent auf das oberste Frameset des Popup-Fensters zugreifen. In diesem Frameset existiert die opener-Referenz weiter, sodass top.opener.location.href oder parent.parent.opener.location.href auf das Fensterobjekt beziehungsweise auf den Frame abzielt, aus welchem das Popup-Fenster geöffnet wurde. Sofern das Frameset des Frames, aus welchem das Popup-Fenster geöffnet wurde, angesprochen werden soll, wäre es vermutlich kurz notiert top.opener.top.location.href.
Über die Sinnhaftigkeit ist nicht viel zu sagen: »Es ist absoluter Schwachsinn.« Meiner Meinung nach.
Grüße,
Mathias
P.S. http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/
Danke molily!
Es funktioniert. Mein einziges Problem ist, dass sich die PopUps nicht schließen.
Ich mach dazu kurz nen Extra-Thread, da diesen hier keiner mehr liest...
Gruß, gloeckle