Vor Neuaufruf altes Popupfenster schliessen

Promaetheus

Mitglied
[ERLEDIGT] Vor Neuaufruf altes Popupfenster schliessen

Ich habe für meine Webseite die Möglichkeit geschaffen Bilder zu zoomen. Diese werden in einem Popup mit den Massen des Originalbildes geöffnet. Jetzt habe ich aber das Problem, dass wenn ich nacheinander ein Bild im Querformat und eines im Hochformat anzeigen lassen möchte, dass das Popup immer die Abmessungen des ersten Bildes hat.

Kann ich das Popup vielleicht einfach vor Erzeugung des neuen schliessen lassen? Denn die Bildwerte würden ja korrekt mitübermittelt.

Hier das Javascript:
Code:
function popupImage(ImageName, Width, Height) {
  windowOptions=\'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0\';
  var generator=window.open(\'\', \'ImageZoom\', windowOptions+ \',width=\' + Width + \',height=\' + Height);
  generator.focus();
  generator.document.write(\'<html><head><title>ImageZoom</title></head>\');
  generator.document.write(\'<body style="margin:0;cursor:pointer">\');
  generator.document.write(\'<img src="\'+ImageName+\'" border="0" onClick="self.close()">\');
  generator.document.write(\'</body></html>\');
  generator.document.close();
}

Und so werden die Bilder aufgerufen:
HTML:
Bild Querformat:<br \>
<a href="http://localhost/1.jpg" target="_blank" onclick="popupImage('http://localhost/1.jpg','800','400'); return false"><img src="http://localhost/thumb_1.jpg" width="200" height="100"border="0"></a>
<br \>
<br \>
Bild Hochformat:<br \>
<a href="http://localhost/2.jpg" target="_blank" onclick="popupImage('http://localhost/2.jpg','400','800'); return false"><img src="http://localhost/thumb_1.jpg" width="100" height="200"border="0">

Ich wäre Euch für Tipps bzw. Hilfestellung diesbezüglich sehr dankbar.
 
Zuletzt bearbeitet:
Javascript:
var generator;
function popupImage(ImageName, Width, Height) {
  if( !generator && !generator.closed )
    generator.close();
  windowOptions=\'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0\';
  var generator=window.open(\'\', \'ImageZoom\', windowOptions+ \',width=\' + Width + \',height=\' + Height);
  // [...]
}
 
Hallo Timestamp!

Danke für deine Antwort. Ich war auch schon soweit, jedoch ohne die if-Abfrage, danke für die Idee diesbezüglich. Leider funktioniert das auch mit deiner if-Abfrage nicht. Wenn ich den Code so ändere wie du empfohlen hast, dann werden die Bilder in einem _blank-Fenster ohne Grössenangabe, sprich die nackte Bild-Url geöffnet und nicht in dem Javascript-generierten Fenster.
Zu sehen auf meiner Seite: http://www.rc-info.at/tcms/wiki/deutsch
 
Upps, ich hab mich da auch vertippt sehe ich gerade:
Javascript:
var generator;
function popupImage(ImageName, Width, Height) {
  if( !generator && !generator.closed )
    generator.close();
  windowOptions='toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0';
  generator=window.open('', 'ImageZoom', windowOptions+ ',width=' + Width + ',height=' + Height);
  // [...]
}

Wofür escapest du da überhaupt die ganzen Anführungszeichen?
 
Danke nochmal für deine Antwort. Zuerst zu den Escapes: dieser Code befindet sich in einer php-Datei. Im Quelltext wird es natürlich ohne Escapes ausgegeben:
HTML:
var generator;
function popupImage(ImageName, Width, Height) {
  if( !generator && !generator.closed )
    generator.close();
  windowOptions='toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0';
  generator=window.open('', 'ImageZoom', windowOptions+ ',width=' + Width + ',height=' + Height);
  generator.focus();
  generator.document.write('<html><head><title>ImageZoom</title></head>');
  generator.document.write('<body style="margin:0;cursor:pointer">');
  generator.document.write('<img src="'+ImageName+'" border="0" onClick="self.close()">');
  generator.document.write('</body></html>');
  generator.document.close();
}

Leider funktioniert es noch nicht. Die Bilder werden noch immer einfach in einem neuen Fenster ohne Dimensionsbegrenzung angezeigt:
http://www.rc-info.at/tcms/wiki/deutsch

Der Aufruf der Bilder aus dem Quelltext lautet:
HTML:
<div id="largeImages" style="width: 243px; height: 182px">
  <a href="http://www.rc-info.at/images/cms/1352370619.jpg" target="_blank" onclick="popupImage('http://www.rc-info.at/images/cms/1352370619.jpg','800','600'); return false"><img src="http://www.rc-info.at/images/cms/thumb_1352370619.jpg" width="243" height="182" align="absmiddle" border="0"></a>
</div>
<div id="largeImages" style="width: 243px; height: 324px">
  <a href="http://www.rc-info.at/images/cms/1352370627.jpg" target="_blank" onclick="popupImage('http://www.rc-info.at/images/cms/1352370627.jpg','800','1066'); return false"><img src="http://www.rc-info.at/images/cms/thumb_1352370627.jpg" width="243" height="324" align="absmiddle" border="0"></a>
</div>
 
Ich denke ich habe es gefunden. Ich komme zwar aus der php-Sprache, aber ich denke dass es heissen muss:
HTML:
if( generator && !generator.closed )
  generator.close();
Denn es soll der Generator ja geschlossen werden WENN er existiert. Jetzt funktioniert es auch. Danke vielmals!
 
Zurück