Hola otra vez:
¿Cómo no se me había ocurrido antes?
Me fijé en msdn de microchoff, ya que no podía creer que no hubieran "controlado" el tamaño de la ventana (no del contenido, sino del continente...

)...
Aquí el link:
http://msdn.microsoft.com/library/de...obj_window.asp
... y si bien parece que no hay información del tamaño real de la ventana, está el tamaño real de su ubicación con window.screenLeft y window.screenTop...
Voy a poner el ejemplo que he usado:
Código PHP:
<html>
<head>
<title>Centrar popup</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT language=Javascript>
<!--
var ventana = false;
var ancho = 790;
var alto = 531;
var der = (screen.width - ancho) / 2;
var sup = (screen.height - alto) / 2;
function abrir() {
var propis = "menubars=no,toolbars=no,width=790,height=531,top=" + sup + ",left=" + der;
ventana = window.open("", "win", propis);
if (!document.all) alert(ventana.outerHeight);
else
setTimeout('ventana.moveTo(der - (ventana.screenLeft - der), sup - (ventana.screenTop - sup))', 3000);
}
//-->
</SCRIPT>
</head>
<body >
<input type=button onclick=abrir() value="Abrimos un pop-up">
</body>
</html>
Faltaría poner el desarrollo del moveTo para netscape... pero lo haré en otra ocasión, o si alguien quiere hacerlo...
Espero que sea algo útil...
Saludos
-----------------------------------------------------------------------
Algunos minutos después...
-----------------------------------------------------------------------
No me pude resistir, y preparé el script para netscape:
completo sería así:
if (!document.all)
'ventana.moveTo(der - (ventana.outerWidth - ancho), sup - (ventana.outerHeight - alto));
else
ventana.moveTo(der - (ventana.screenLeft - der), sup - (ventana.screenTop - sup));
También funciona en opera 7.
Saludos