MCXSC: iFrame - Höhe an anzuzeigender Seite anpassen?

Hi Leute!

Folgendes Problem:

Ich habe 3 Spalten: Links die Navigation, rechts Zusätze und in der mitte den Inhalt...

Die Mitte will ich per iFrame machen...

Die Breite kann ich auch so anpassen, dass es richtig dargestellt wird...nur die Höhe nicht.

Kann man die Höhe des im iFrane anzuzeigenden Seite so einstellen, dass sie je nach höhe der darzustellenden Seite variiert?

Also: Die Höhe soll genau passen, es sollen weder horizentale noch vertikale (!) Scrollbalken im iFrame sein (bitte nicht mit scolling="no")...

Bitte helft mir, MCXSC

  1. Hi,

    die Höhe eines Dokument kriegst du mit

    document.height (Mozilla/Netscape4)

    bzw.

    document.body.scrollHeight (MSIE)

    Wie du allerdings das document im Iframe ansprichst weiß ich jetzt nicht.

    Wenn du die Werte hast, musst du nur noch das iframe ansprechen und dem die Werte zuweisen.

    Gruß
    Christian

    1. document.body.scrollHeight (MSIE)

      Wo soll das denn hin? Und ws bewirkt das genau?

      1. document.body.scrollHeight (MSIE)

        Wo soll das denn hin? Und ws bewirkt das genau?

        Bewirken tut das gar nicht. Das speichert nur die Höhe eines Dokuments.
        Das soll an die height-Eigenschaft des Iframes!

        Ich weiß eben nur nicht wie du das iframe korrekt ansprichst.

        versuchs mal mit:

        var iframe = document.getElementById("iframeID");
        iframe.height = 100;

        wenn das klappt, hast du schon mal das iframe richtig referenziert.
        wenn nicht versuchs mit:
        var iframe = frames["iframeID"];

        so und dann brauchst du noch die Höhe des Doks im Iframe...
        kA wie das geht

        evtl so:

        iframe.height = iframe.document.body.scrollHeight;

        1. var iframe = document.getElementById("iframeID");
          iframe.height = 100;

          --> Wohin? in den <ifram> Tag?

          1. var iframe = document.getElementById("iframeID");
            iframe.height = 100;

            --> Wohin? in den <ifram> Tag?

            also, so einfach ist das echt nicht, wie ich dachte. habe gerade ausprobiert.
            du kannst die neue höhe erst zuweisen, wenn das dokument komplett geladen ist.
            d.h. du musst im body-onload eine funktion aufrufen.

            <script type="text/javascript">
            function iframeResize()
            {
            document.getElementById("ifr").height = frames["ifr"].document.body.scrollHeight;
            }

            </script>

            <body onload="iframeResize()">

            <iframe id="ifr" src="..."></iframe>

            </body>

            etwa so, sollte es klappen. Moz kennt glaub ich auch scrollHeight, Netscape 4 zwar nicht, aber der kann eh keine iframes.

            Gruß
            Christian

            1. Wo kommt das script hin?
              in den body der datei wo <iframe...> ist?

            2. Funktioniert nicht...

              Habe alles in den Body Tag gesetzt, das script in den header...

              1. Alles muss man selber machen.

                kannst du nicht ein bisschen mal rumprobieren?? Ich machs doch auch so!

                Hier meine Datei, die klappt. Unter IE 6 /Win XP getestet:

                <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN">
                <html>
                <head>

                <script type="text/javascript">

                function iframeResize()
                {
                 document.getElementById("ifr").height = frames["ifr"].document.body.scrollHeight + 34;
                }

                </script>

                </head>

                <body onload="iframeResize()">

                <iframe id="ifr" src="test.html"></iframe>

                </body>
                </html>

                wobei test.html die Datei ist, deren Dokumenthöhe ermittelt wird.
                Die "+ 34" sind zumindest bei mir (IE 6) erforderlich, damit das Iframe keine scrollbalken hat.

                Gruß
                Christian

                1. Das Script vorher ging, das neue mit +34 nicht...

                  warum?

  2. hi,

    Kann man die Höhe des im iFrane anzuzeigenden Seite so einstellen, dass sie je nach höhe der darzustellenden Seite variiert?

    hast du diesbezüglich mal das archiv befragt?

    gruss,
    wahsaga