mdkiller: Fenster per function öffnen und dort beliebige Grafik anzeigen

Beitrag lesen

Hallo Bruno!

Unmittelbar bevor die neue src zugewiesen werden soll, hat der IE das Fenster vollständig dargestellt. Netscape hingegen zeigt zwar das Fenster, aber ohne Inhalt.

Baue in das <body>-Element des Popups den entsprechenden Eventhandler ein und lasse dann die Funktion darüber aufrufen (evtl. die Funktion im opener).

Hallo mdkiller, thx für die schnelle Aw. Da ich (noch) nicht der Javascriptler vor dem Herrn bin, bitte ich Dich, Deinen Vorschlag etwas näher zu kommentieren.

Na gut:
Deine Funktion

var fenster;
function popWup(DokName,FensterName,Attribute,BildX) {
fenster = window.open(DokName,FensterName,Attribute);
fenster.focus(); // bis hierher alles ok
if (BildX!='') { // ungleich leer, dann neues Bild
fenster.parent.picmain.document.Bild.src=BildX;
}                // IE ok, Netscape kein neues Pic!
}

musst du aufsplitten, einmal in popWup, darein kommt der Teil, der das Fenster öffnet und eine neue Funktion, die per <body onload="..."> in dem Popup (picmain-Frame) geöffnet wird.

Ungetestet und garantiert verbesserungsfähig:

var fenster;
var pic;
function popWup(DokName,FensterName,Attribute,BildX) {
fenster = window.open(DokName,FensterName,Attribute);
fenster.focus(); // bis hierher alles ok
pic = BildX; //Bild-Name wird in Variable gepackt, um später drauf zuzugreifen
}

Und jetzt die Bildwechsel-Funktion (im Popup):

function Bildwechsel(){
if (top.opener.pic!='') { // ungleich leer, dann neues Bild
document.Bild.src=top.opener.pic;
}                // IE und Netscape hoffentlich neues Pic!
}

Und das <body>-Element des Popups: <body onload="Bildwechsel();">

Hoffe, dass es so klappt.

Gruß

mdkiller