Popup auflösungsunabhängig zentrieren
Mit folgendem Skript erscheint Dein Popup immer in der Mitte des Bildschirms – egal, wie groß es ist und wie die beim Besucher eingestellte Bildschirmauflösung ist.
Dieses Skript wurde getestet mit IE 6.0, NN 6.2, NN 4.7 und wurde in allen genannten Browsern korrekt angezeigt. Lediglich der Opera 5.0 hat mit seiner bekannten JavaScript-Schwäche wieder mal Probleme, das Popup korrekt zu positionieren. Neuere Versionen hingegen sollten keine Probleme mehr damit haben; allerdings lassen sich moderne Browser ohnehin so umkonfigurieren, so daß die Angaben ignoriert werden. Auch öffnen einige Browser derartige Popups – wie auch sonst alle angeforderten Popups – im selben Fenster,
Und hier nun der Quelltext des Skriptes:
<script type="text/javascript"> <!-- newwindow=false; function fenster(url,breite,hoehe) { if(newwindow&&newwindow.closed==false) newwindow.close() var l = (screen.availWidth - breite) / 2; var t = (screen.availHeight - hoehe) / 2; newwindow = window.open(url,"newwindow","width=" + breite + ",height=" + hoehe + ",left=" + l + ",top=" + t + ";"); newwindow.focus(); } //--> </script>
Wenn die Zentrierung genau in der Bildschirmmitte und nicht in
der Mitte des verfügbaren Anzeigebereichs erfolgen soll, solltest
Du anstatt screen.availWidth
respektive
screen.availHeight
screen.width
und
screen.height
schreiben. Dadurch wird das Popup
genau an den Bildschirmrändern ausgerichtet; eine ggf. vorhandene
Taskleiste wird nicht berücksichtigt.
Und der Verweis dazu:
<a href="info.htm" target="_blank" onclick="fenster(this.href,300,300); return false;">Link</a>
Wenn Du dieses Skript in den Quelltext einfügst, solltest Du die Zeilenumbrüche innerhalb des Anweisungsblocks vermeiden, da es sonst zu einem Skriptfehler kommt, weil das Skript die weiteren Parameter nicht mehr findet.
Viel Spaß!