Chris: iframe auto (re)size

Hallo zusammen,
nachfolgend ein javascript, dass mir die iframe-Größe automatisch anpasst (Höhe).

<head>  
<script language="JavaScript">  
<!--  
function calcHeight()  
{  
  var the_height=  
    document.getElementById('the_iframe').contentWindow.  
      document.body.scrollHeight;  
  
  document.getElementById('the_iframe').height=  
      the_height;  
}  
//-->  
</script>  
</head>  
  
<iframe name="search-frame" onLoad="calcHeight();" scrolling="no" width="100%" id="search-frame" src="search.php" frameborder="0" allowtransparency="true"></iframe>

Es funktioniert. Allerdings wird nur die Höhe aktualisiert, wenn sie größer werden soll, jedoch nicht wenn sie kleiner wird.

Beispiel: In meinem Suchfenster gebe ich einen Begriff an. Daraufhin werden 3 Ergebnisse gefunden (das iframe verlängert sich nun auf zB. eine Höhe von 400px). Anschließend mache ich noch eine Abfrage mit 5 Ergebnissen (iframe verlängert sich um weitere Pixel). Wenn ich nun jedoch eine Suche starte bei der nur noch 2 Ergebnisse gefunden werden, so bleibt die iframe Höhe gleich (wie bei der vorigen Abfrage von 5 Erg.).

Wie kann ich nun meinem iframe sagen, dass es nicht nur länger, sondern auch kürzer werden soll?

Theoretisch würde ein Refresh nach jeder Suchabfrage reichen.

Danke für Tipps oder Lösungen im Voraus.

Chris

  1. @@Chris:

    nuqneH

    <script language="JavaScript">

    Das 'type'-Attribut http://de.selfhtml.org/javascript/intro.htm#javascriptbereiche@title=fehlt; 'language' kommt in die Mülltonne ...

    <!--

    ... und die unsinnige HTML-Auskommentierung von JavaScript-Code auch.

    var the_height=
        document.getElementById('the_iframe').contentWindow.
          document.body.scrollHeight;

    scrollHeight??

    Du möchtest document.body.[ref:self812;javascript/objekte/all.htm#offset_height@title=offsetHeight] verwenden?

    Und beachte, dass du damit die Höhe des Inhalts der 'body'-Box ausliest, ohne deren padding und margin. (Wenn diese nicht 0 sind, gibt’s eine Scrollbar.)

    Vielleicht hättest du ja lieber die 'html'-Box: document.documentElement.scrollHeight

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)