Hallo, Michael, hallo, Daniel,
In einer Photogalerie möchte ich die Links zu den großen Photos auf immer das gleiche Popupfenster verweisen, welches aber auch seine Größe je nach Photo ändert, und das Popupfenster sollte von allein in den Vordergrund rücken wenn mann einen Link öffnet.
Also, was du brauchst, ist
a.) der Name deines popup-Fensters (den findest du in der Funktion, die das Fenster öffnet), ich nenne es jetzt mal "POPUP"
Das ist soweit richtig.
function loadImage(imgURL,x,y) {
POPUP.resizeTo(x,y);
POPUP.location.replace(imgURL);
POPUP.focus();
}
Dieser Code ist nutzlos: Wenn das Fenster noch nicht geöffnet wurde, wird kein Fenster geöffnet. Deshalb muss jeder Link das Popup-Fenster "erneut" öffnen, d.h. der window.open-Aufruf und der
<a href="javascript:loadImage('bild1.jpg',200,200);">BILD1</a>
<a href="javascript:loadImage('bild2.jpg',100,250);">BILD2</a>
Popup-Aufrufe mit href="javascript:..." zu realisieren ist sehr unklug, da Suchmaschinen und Besucher, welche JavaScript deaktiviert haben oder deren Browser kein JavaScript unterstützten, ausgeschlossen werden.
Näheres unter: http://home.t-online.de/home/dj5nu/js-popup.html
Möglich *wäre* folgende Lösung (bitte erst weiterlesen, denn diese Lösung ist nicht empfehlenswert!):
Im head-Element:
<script type="text/javascript">
function limg (url, breite, hoehe) {
fenster=window.open(url, "fenster","width="+breite+",height="+hoehe+",resizable=yes,location=no,menubar=no,scrollbars=no,status=no,toolbar=no");
fenster.resizeTo(breite,hoehe);
fenster.focus();
return false;
}
</script>
Aufruf mit:
<a href="grafik.jpg" onclick="return limg(this.href,132,456)">grafik.jpg</a>
Diese Lösung ist jedoch nicht realisierbar, da Browser für gewöhnlich standardmäßig einen Rahmen anzeigen, wenn man eine Grafik als URI benutzt. Da man dies scheinbar nicht interoperabel durch JavaScript beeinflussen kann, ist es nicht möglich, das Popup-Fenster an die Größe der darin enthaltenen Grafik anzupassen. Es bleibt nur die Möglichkeit, im Popup-Fenster eine HTML-Datei zu öffnen.
Eine Lösungsmöglichkeit, welche serverseitig PHP verwendet, habe ich unter http://forum.de.selfhtml.org/archiv/2002/9/23627/#m130831 vorgestellt, die Ränder des HTML-Dokuments müsste man entsprechend mit CSS auf 0 (null) setzen (bspw. html,body (margin:0; padding:0;}).
Wenn du Fragen zu dem Konzept hast, immer her damit.
An Michael: Bitte lies http://forum.de.selfhtml.org/archiv/2002/9/23697/#m131105
Grüße,
Mathias