Framehöhe dynamisch anpassen ...

  • Tach miteinander,

    problemstellung:
    ich habe einen banner, darunter ein menü und darunter einen iframe.
    ich möchte, dass sich der iframe in der höhe seinem inhalt anpasst.
    so das er beispielsweise bei seite 1 500 pixel hoh ist und bei seite 2 800 pixel.
    so das der user im frame nicht scrollen muss, sondern an der scrollbar der hauptseite.

    gibt es dafür einen script, oder hat jemand einen lösungsvorschlag für mich?
    sitze schon einen halben tag daran und komme nicht weiter.

    vielen dank!!!
    börni

  • Moin!

    So etwas geht nicht:

    Das Iframe wird ja bereits erzeugt, wenn der Inhalt (die HTML-Seite) noch gar nicht geladen wurde. Woher soll das Iframe denn wissen, was da noch alles rein kommt?

    Keine Chance!

    Das, was du möchtest, löst man mit ganz normalen HTML und z.B. unsichtbaren Tabellen.

    Sinn eines I-Frame ist übrigens, daß grade nicht die ganze Seite gescrollt werden muß, so bleiben z.B. die Navigation und Header weiterhin sichtbar, wenn auf der Seite viel drauf steht.

    G.a.d.M.

    Ronald

  • hm.. wie lädt man einen link in eine tabelle?
    wie muss das dann aussehen?

    die attribute wie höhe, breite usw. werden sicherlich die selben sein.

    danke
    lg
    börni

  • ahh, verstehe

    nur dann muss der user immer die komplette seite neu laden, inklusive aller grafiken, und das sind net wenig ;)

    wie läuft das mit dem include befehl, ist doch php ne?
    wie kann ich den in ne html seite einbauen?

    lg
    börni

  • hab eine lösung via javascript gefunden:
    ----------------------------------------------------------------
    den script in den head bereich der seite mit dem frame:

    <script type='text/javascript'>
    function resize_me(n)
    {
    d=0;
    ifObj=document.getElementsByName(n)[0];
    p=(document.all)?'scroll':'offset';
    eval("ifObj.style.height=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d);
    }
    </script>

    ----------------------------------------------------------------
    und das in den body-tag der seite, die in den frame geladen werden soll:

    onload="parent.resize_me('framename')"


    das funktioniert bei mir im ie sowie in mozilla.

    liebe grüße
    börni

  • joa, bingt aber ansich doch auch nicht viell...

    lieber include, da hast mehr von auch asu SEO sicht.. wenn dir das egal sein sollte... einfach ein div mit innerHTML per AJAX füttern...

  • Zitat

    joa, bingt aber ansich doch auch nicht viell...

    naja, also meine bedürfnisse befriedigt es ;)
    der iframe passt sich dem inhalt an. und das ist was ich wollte...

    nur, was nützt das alles, wenn dieses problem noch besteht.

    lg
    börni