Klappspaten: Iframe der sich automatisch der Größe anpasst!

Hallo!

Ich habe einen Iframe in der Seite eingebunden. Ich will erreichen, dass der Iframe sich automatisch an die Größe der im Iframe eingebunden Seite richtet. Allerdings nur in der Länge. Also, wenn die Seite im Iframe 800px lang ist, soll der Iframe auch 800px lang sein. Ist die Seite im Iframe aber nur 400px lang, soll der Iframe auch 400px lang sein. Es soll also keine Scrollbalken geben. Auch nur für die Höhe, die Breite ist nicht wichtig!

Danke,
David

  1. Moin!

    das http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow wäre eine alternative zu iframes, die von textbrowsern nicht geladern werden könen, und deshalb nicht gerade behindertengerecht sind.

    tschüssi
    ichen

    1. Moin!

      das http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow wäre eine alternative zu iframes, die von textbrowsern nicht geladern werden könen, und deshalb nicht gerade behindertengerecht sind.

      tschüssi
      ichen

      Das System verstehe ich nicht ganz! Kannst du das vielleicht nochmal genauer erklären??

      1. Moin!

        wenn du es so haben willst, aknnst du gleich auch frames oder einzelne seiten verwenden. bei einzelnen seiten wäre dass was uich gepostet habe die variante die du suchst. aber ich rate auf jeden fall von iframes ab!

        tschüssi
        ichen

  2. Hi,

    Ich will erreichen, dass der Iframe sich automatisch an die Größe der im Iframe eingebunden Seite richtet.

    Das ist afaik nur mit Javascript moeglich, da die css-Eigenschaft overflow:visible, die eigentlich eine Ausdehnung des Elements auf die Groesse des Inhaltes erzeugen sollte, beim iframe nicht klappt.

    Mit JS geht es so, wobei ich voraussetze, dass Du korrektes Doctype setzt, sonst klappt der Zugriff auf die Scrollhoehe nicht mit documentElement, also z. B:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">

    Ausserdem musst Du Deine iframe-id eintragen.

    // Die Seite mit iframe enthaelt diese Funktion:
        function resize_iframe(ht) {
            document.getElementById("IFRAME_ID").style.height = ht+"px";
        }

    // die Seite _im_ iframe enhaelt diese Funktion
        // _muss_ per onload gerufen werden
        function get_scroll_ht() {
            var ht =  document["documentElement"].scrollHeight;
            parent.resize_iframe(ht);
        }

    natuerlich solltest Du die Seite so gestalten, dass Browser, die das nicht koennen, den iframe wenigstens mit Scrollbars sehen. Mozilla und IE sollten hierbei aber keine Probleme haben.

    Gruesse, Joachim

    --
    Am Ende wird alles gut.