fenster unabhängig von größe und auflösung zentrieren

Squarius

Mitglied
PHP:
<!--
var pop;
function resizeMe()
{
imgW=pop.document.images[0].width;
imgH=pop.document.images[0].height;
if(document.all&&!window.opera)
	{
	   popW=pop.document.body.offsetWidth;
	   popH=pop.document.body.offsetHeight;
	}
else
	{
	  popW=pop.innerWidth;
	  popH=pop.innerHeight;
	}
resX=parseInt(imgW-popW);                                //soll die breite des popups ausrechnen
resY=parseInt(imgH-popH);                                //soll die hoehe des popups ausrechnen
pop.resizeBy(resX,resY);                                //ändert popupgröße
ScreenWidth = screen.availWidth;                   //ermittelt verfügbare screen-breite
ScreenHeight = screen.availHeight;                   //ermittelt verfügbare screen-höhe
movX=(ScreenWidth/2)-(resX/2);                 //soll die X-posiotion des popup errechnen
movY=(ScreenHeight/2)-(rexY/2);                //soll die Y-posiotion des popup errechnen
pop.moveTo (movX,movY);	                       //hier befinden sich die Positionsangaben
pop.focus();
}
function popup(lnk,titel)
{
pop=window.open('','fenster','scrollbars=no');
pop.document.open();
pop.document.write('<html><head><title>'+titel+'</title></head><body onload="opener.resizeMe()"marginheight="0"marginwidth="0"><img src="'+lnk.href+'"border="0"style="position:absolute;top:0px;left:0px;"></body></html>');
pop.document.close();
}
//-->

link:
Code:
 <a href="../../img/real/007.jpg" onClick="popup(this,'real');return false;" target="_blank"><img src="../../img/real/thumbs/007.jpg">

das script passt seine größe an das bild an, dass damit geladen wird. mein problem dabei ist das popup noch zentriert anzuzeigen.
habe schon die suchfunktion benutzt und die sachen ausprobiert, aber nichts wird alles oben links in der ecke dagestellt.

thx schon mal im voraus.
 
Zuletzt bearbeitet:
Hi,

wenn ich das richtig verstanden habe, sollte Dir folgendes helfen:
PHP:
function centerpop() {
	var w_width=640;
	var w_height=400;
	var s_width=screen.width;
	var s_height=screen.height;
	var t_offset=s_height/2-w_height/2;
	var l_offset=s_width/2-w_width/2;
	var props="HEIGHT="+w_height+" WIDTH="+w_width+" TOP="+t_offset+" LEFT="+l_offset;
	mywin=window.open("popup.htm","POPUP",props);
	mywin.focus();
}
wobei laut meiner JS-Referenz die Eigenschaften TOP und LEFT von Netscape nicht unterstützt werden.
Im Internet Explorer läuft es, ich habe es ausprobiert.

Gruß
 
leider nicht :(

also ich versuche es mal zu erklären:

- thumbnails auf meiner page
links sehen so aus:
Code:
<a href="../../img/real/007.jpg" onClick="popup(this,'real');return false;" target="_blank"><img src="../../img/real/thumbs/007.jpg">

wenn man draufklickt liest das javascript den bildnamen und größe (x und y) von dem jeweiligen bild aus. (hier: real/007.jpg)

dann schreibt es ne html datei und öffnet das ganze in einem neuen fenster und passt danach die fenster größe dem bild an.

d.h. die fenstergröße muss dynamsich bleiben sonst wäre der sinn und zweck dieses script fürn teufel. :)

nur möchte ich dieses neue fenster zentriert haben.

PS: ich lade mal ne beispiel seite hoch. mom
So hier ist die Seite: http://www.squarius.de/js/index.html
 
Zuletzt bearbeitet:
Hi,

ich glaub, jetzt habe ich es verstanden:

Du öffnest mit window.open ein Popup, schreibst per document.write einen onLoad-Handler rein, der die Resize-Methode des Openers ausführt...

Mit resizeBy/innerWidth und moveTo hatte ich auch schon einige Probleme, da die Browser unterschiedlich darauf reagieren.

Versuch doch mal, die Funktion resizeMe in das Popup zu schreiben, statt sie von dem Opener ausführen zu lassen.

Ansonsten würde ich halt eine Möglichkeit suchen, der popup-Methode gleich die Bildgröße zu übergeben - dann geht es auch mit window.open.

Gruß
 
ok vielen dank ;-)

ich versuche das noch hinzukriegen.

ich bin nich so der highskiller in javascript :D
ich versuche halt von allem etwas zu lernen (php,msql,javascript,gfx usw.)

trotzdem danke :)
 

Neue Beiträge

Zurück