Tu problema radicar principalmente en la página que vas a cargar, no en el iframe.
No hay forma de tomar el tamaño de una página ya que no tienen dicha propiedad. Un ejemplo muy claro de esto es que la ventana de un navegador nunca toma el tamaño de la página, sino que la página se amolda a la ventana, excepto las tablas que tienen medidas establecidas (no en %)....
Si estas páginas que querés cargar, las creaste vos... lo que podés hacer es añadirles variables, que luego tome la página que las carga...
Por ejemplo, tenemos el archivo index.php en el cual insertas tu iframe y ponemos una funciòn de javascript para cargar las páginas:
index.html
...
<script language="javascript">
function cargar(url){
var iframe = document.getElementById('iframe');
iframe.src = url;
iframe.width = iframe.contentDocument.getElementById('ancho').value;
iframe.height = iframe.contentDocument.getElementById('alto').value;
}
</script>
<a href="javascript:cargar('uno.html');">Uno</a>
<br>
<a href="javascript:cargar('dos.html');">Uno</a>
<br>
<iframe id="iframe" width="20" height="20" src=""></iframe>
....
Y en las otras paginas pones unos campos ocultos con las medidas que quieres:
uno.html
...
<input type="hidden" id="ancho" value="300">
<input type="hidden" id="alto" value="100">
dos.html
...
<input type="hidden" id="ancho" value="500">
<input type="hidden" id="alto" value="500">
Espero que esto te sirva.
Altareum.