Ya estoy aquí otra vez, vamos a ver, pongo el código con las pequeñas variaciones que he hecho:
Código PHP:
<head>
<title>Crear popup con tabla</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<SCRIPT language=Javascript>
<!--
var ventana;
function abrir() {
ventana = window.open("popuptabla.html","win", "menubars=no,toolbars=no,width=0,height=0");
ventana.document.body.style.margin = 0;
ventana.document.body.style.padding = 0;
if (document.all) {
var ancho = ventana.document.body.getElementsByTagName("table")[0].offsetWidth;
var alto = ventana.document.body.getElementsByTagName("table")[0].offsetHeight;
ventana.resizeTo(ancho, alto);
var nuevoAncho = ventana.document.body.clientWidth;
var nuevoAlto = ventana.document.body.clientHeight;
ventana.resizeTo(ancho + (ancho-nuevoAncho), alto + (alto - nuevoAlto));
}
}
function reabrir(ancho, alto) {
ventana.resizeTo(ancho, alto);
}
//-->
</SCRIPT>
</head>
<body>
<form name=dimensiones>
<input type=button onclick="abrir()" value="Abrimos un pop-up"><br>
</form>
</body>
</html>
y el del popup
Código PHP:
<html>
<head>
<script>
var ancho, alto, nuevoAncho, nuevoAlto;
function ini() {
ancho = document.getElementById("tabla").offsetWidth;
alto = document.getElementById("tabla").offsetHeight;
opener.reabrir(ancho, alto);
nuevoAncho = window.innerWidth;
nuevoAlto = window.innerHeight;
opener.reabrir(ancho + (ancho - nuevoAncho), alto + (alto - nuevoAlto));
}
</script>
</head>
<body style="margin:0" onload="if (!document.all) ini()">
<form style="width:0; height:0">
<table id="tabla" border="1" cellspacing="40" cellpadding="40">
<tr>
<td>Tabla sin contenido</td>
</tr>
</table>
</form>
</body>
</html>
El caso es que según le de funciona o no, es decir, sin modificar nada abro la página, doy al botón y funciona. Cierro todo, lo repito exactamente igual (o eso creo) y no funciona. Sin cerrar el opener le doy en varias ocasiones al botón y a veces me ajusta la ventana a la tabla y otras no.