Grosses Bild im neuen Fenster

Hallo,
ich benutze folgendes Script um beim klick auf ein Thumbnail ein größeres Bild in einem neuen fenster anzuzeigen. Funzt alles prima, nur möchte ich, dass das Fenster mit dem grossen Bild beim anklicken des nächsten Thumbnails wieder im Vordergrund erscheint, ohne das man das Fenster vorher schliessen muß. Wer kann helfen?
Beispiel: http://www.gw-rieder.de/feierharzstuebchen/feierharz…

netscape = (document.layers) ? 1:0;
goodIE = (document.all) ? 1:0;
if (netscape) {
var OffsetWidth=0
var OffsetHeight=0
}
else if (goodIE) {
var OffsetWidth=-10
var OffsetHeight=-15
}

var maxWidth = 950;
var maxHeight = 650;

function Zeigen(url, title, w, h, alttext, alternate) {
var winWidth=w;
var winHeight=h;
var resizable=false;

// correct window size
if (w>maxWidth) { winWidth=maxWidth; resizable=true; }
if (h>maxHeight) { winHeight=maxHeight; resizable=true; }

// If alternate is not set, we set the title as an alternativ
if (!alternate) alternate=title;

var win=open("#", „zoom“, „dependant=yes,left=40,top=20,height=“+winHeight+",width="+winWidth+",resizable="+((resizable)?„yes“:„no“,title=alternate));
var doc=win.document;
doc.open();
doc.write(’’+title+’’);
doc.write(’’);
doc.write(’ ‚);
doc.write(‘’);
doc.write(’ ‚);
doc.write(‘’);
doc.close();
}

Hallo,

dann schreib doch als letzte Anweisung nach doc.close(); noch:

win.focus();

CU

Danke

Hallo Vir2allender,

funzt prima!
In JavaScript bist Du der Grösste :wink:

Gruss Andreas

Ich bins noch mal,
kleines Problem:
nun wird die Fenstergrösse bei einer anderen Bildgrösse nicht mehr verändert, siehe:
http://www.gw-rieder.de/archiv_bildderwoche.htm

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

wenn Deine Fensterinstanz mit Namen „win“ schon existiert,
dann wird Deine Function:

var win=open("#",„zoom“,"…");

oder besser

var win=window.open("#",„zoom“,"…");

nicht ein weiteres Mal ausgefuehrt, sondern nur der Inhalt ueber:
open();
write();
close();

geaendert. Somit bleiben auch die Groessen height sowie width auf den urspruenglichen Werten.
Dies laesst sich umgeben, wenn Du ein bereits geoeffnetes Fenster erst schliesst und dann erneut
mit neuem Inhalt oeffnest.

Dazu musst die Variable „win“ ausserhalb der function Zeigen()
als globale Variable deklariert werden:

var win = null; // Es existiert keine Fenster-Instanz win

Innerhalb der function Zeigen() ersetzt Du Deine Zeile:

var win=open("#", „zoom“, „dependant=yes,left=40,top=20,height=“+winHeight+",width="+winWidth+",resizable="+((resizable)?„yes“:„no“,title=alternate));

durch folgendes Konstrukt:

// Wenn Fensterinstanz win exisitiert UND auf bestehender Fensterinstanz win
// der Zustand auf NICHT geschlosssen steht,
// dann schliesse das Fenster win und setzte die win-Instanz auf null:

if (win && !win.closed) {
win.close();
win = null;
}

// Oeffne Fensterinstanz mit gleichem Namen win erneut:

win=open("#", „zoom“, „dependant=yes,left=40,top=20,height=“+winHeight+",width="+winWidth+",resizable="+((resizable)?„yes“:„no“,title=alternate));

Es folgt dann normal wie sonst:

var doc=win.document;
doc.open();

usw.

CU

1 „Gefällt mir“

Es funzt!!!
Du bist der Grösste! :o))))

cu Andreas