2010-02-13 11 views
1

Je suis en train de lancer une fenêtre de navigateur centrée via un formulaire bouton en utilisant le code suivant ...problème de centrage de la fenêtre du navigateur

http: //www.bbc.co.uk','testwin', » width = 400, height = 400, gauche = (screen.availWidth-400)/2, haut = (screen.availHeight-400)/2 '); return false "> bouton Test

Le nouveau navigateur affiche la bonne hauteur et la largeur, mais la gauche et haut attributs sont ignorés, la fenêtre apparaît en haut à gauche.

Suis-je trop ambitieux d'essayer de faire Est-ce qu'il y a une autre syntaxe à utiliser ou devrais-je abandonner et appeler une fonction à la place (je ne préférerais pas si je peux l'éviter)?

J'utilise Firefox 3.0.17 (dernière version)), mais le même effet se produit dans IE7

TIA, Alan Harris-Reid

+0

pour montrer un peu de code? Il serait utile pour obtenir de bonnes réponses. –

+0

En fait, il a montré du code ... juste Stack Overflow l'a supprimé. Ceci est son post brut, sans qu'il soit dépouillé: http://stackoverflow.com/revisions/c84eca9f-6fc3-4fcf-a3b7-ae690d34d38a/view-source – icktoofay

Répondre

1

http://www.tek-tips.com/faqs.cfm?fid=2296 explique comment le faire. Mais je recommanderais d'utiliser un Div flottant à la place à cause des bloqueurs de fenêtres pop-up. Supposons que vous vouliez ouvrir une fenêtre d'une taille de 200h x 150w. En prenant la moitié de la hauteur et la largeur (100 et 75 respectivement), vous pouvez identifier le centre de la fenêtre. Ensuite, avec un peu de maths, vous pouvez centrer la fenêtre. Voici comment cela se fait

<SCRIPT LANGUAGE="JavaScript"> 
function MyPopUpWin() { 
var iMyWidth; 
var iMyHeight; 
//half the screen width minus half the new window width (plus 5 pixel borders). 
iMyWidth = (window.screen.width/2) - (75 + 10); 
//half the screen height minus half the new window height (plus title and status bars). 
iMyHeight = (window.screen.height/2) - (100 + 50); 
//Open the window. 
var win2 = window.open("filename.htm","Window2","status=no,height=200,width=150,resizable=yes,left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no"); 
win2.focus(); 
} 
</SCRIPT> 

Pour appeler cette fonction en HTML utiliser ceci:

<A HREF="javascript:MyPopUpWin()">This is the link</a> 
soins
+0

Cela fonctionne bien. Dommage que cela ne fonctionne pas comme une commande inline onclick, mais je suppose que les fonctions sont plus flexibles à long terme. Merci, Alan –

Questions connexes