Von http://www.professorweb.de/javascript-ajax...h-anpassen.html

Mit diesem Javascript wird die Höhe des iFrames automatisch in 400ms Schritten an den Inhalt des selbigen angepasst.

CODE
<script type="text/javascript">
  var framefenster = document.getElementsByTagName("iFrame");
  var auto_resize_timer = window.setInterval("autoresize_frames()", 400);
  function autoresize_frames() {
    for (var i = 0; i < framefenster.length; ++i) {
        if(framefenster[i].contentWindow.document.body){
          var framefenster_size = framefenster[i].contentWindow.document.body.offsetHeight;
          if(document.all && !window.opera) {
            framefenster_size = framefenster[i].contentWindow.document.body.scrollHeight;
          }
          framefenster[i].style.height = framefenster_size + 'px';
        }
    }
  }
</script>


Das ganze Vorhaben funktioniert nur dann, wenn sich die Datei des iFrame und die Datei die im iFrame aufgerufen wird, auf der gleichen Domain befindet, da sonst die SOP (Same Origin Policy) zuschlägt. Wir setzen es eigentlich bei allen Webdesign Projekten ein.

Ändert sich der Inhalt in dem iFrame, wird zum Beispiel länger oder kürzer, passt sich das iFrame alle 400 Millisekunden daran an. Dafür sorgt diese Zeile: