IFrame länge (Höhe) dynamisch an Inhalt anpassen!
  • Hallo Leute,
    Ich glaube diese Frage ist eine der meißt umstrittensten Fragen die es in dem bereich gibt ?! Alles sagen es geht nicht, manche jedoch behaupten es geht, posten einen Script und es geht leider trozudem nicht.
    Lange habe ich geGoogelt und keine Antwort auf meine Frage gefunden!
    http://www.google.de/search?hl=de&q=iframe+l%C3%A4nge+an+inhalt+anpassen&btnG=Google-Suche&meta= (Google Ergebnisse)
    http://www.phpforum.de/archiv_20646_Iframe@groesse@anpassen_anzeigen.html (mögliche Lösung)

    Die Frage is halt: Kann man die Länge (Höhe) eines iframes so scripten, dass er sich dynamisch dem insich geladenen Inhalt jederzeit anpasst ? Für meine Bedürfnisse ist lediglich die Anpassung der Höhe erforderlich!

    Danke schonmal im Voraus
    Gruß Matthias

  • 23 Answers sorted by
  • Das habe ich selbst schon einmal für die Firma programmiert wo ich arbeite. Das heißt, es geht. ist aber ziemlich umständlich.
    Ich habe in der Datei die im IFRAME aufgerufen werden soll ein Script, welches bei onload ausgeführt wird. Dieses berechnet dann die Höhe des Inhaltes und passt dann die Höhe des IFRAMEs an:

    <body onload="parent.document.getElementById('content').style.height=(document.getElementById('inhalt').offsetHeight)+'px'"><br /><div id="inhalt"><br />...<br />Hier den Inhalt der Seite rein<br />...<br /></div><br /></body>

    Dabei habe ich dem IFRAME die id content gegeben.

  • hmmm, auf jedenfall erstma "YES" dass es möglich ist aber lider funktionierts bei mir trotzdem nicht.

    Ablauf:
    - Habe index.html Datei erstellt und einen iframe eingebaut, der automatisch die Datei news.html laden soll (funktioniert).
    - Danach schrieb ich die Datei news.html so um, wie du es mir gesagt hast.
    - Test: iframe passt sich jedoch nicht an. Iframe hat keinerlei angaben, einfach ein schlichter iframe-Code.

    hm, was jetzt tun ??
    Danke für deine Mühe!

    Gruß Matthias

  • poste mal die URL, hast sicher nen fehler drinne muss man sich mal angucken :)

  • Habs noch nich hochgeladen, sondern erstma aufm Rechner ausgetestet und geht leider nich.

    Hier der Code der Seite, die den iframe beinhaltet:
    <br /><HTML><br /><HEAD><br /> <TITLE>Meine Seite</TITLE><br /></HEAD><br /><BODY><br /><br /><iframe <b>id="content"</b> src="news.html"></iframe><br /><br /></BODY><br /></HTML><br />

    <br />Hier der Code der Seite, die im iframe angezeigt werden soll:<br /><HTML><br /><HEAD><br /></HEAD><br /><body onload="parent.document.getElementById('content').style.height=(document.getElementById('inhalt').offsetHeight)+'px'"><br /><div id="inhalt"><br />Textinhalt Textinhalt Textinhalt Textinhalt Textinhalt Textinhalt natürlich wesentlich mehr Textinhalt, um die gewünschte iframeanpassung sehen zu können.<br /></div><br /></body><br /></HTML>

  • der IFRAME muß natürlich die ID = "content" haben! Sonst geht es nicht.

  • ich habs mal übersichtlich gemacht und korrigiert :)

  • ey Geil es funzt !! Jedoch passt sich nicht die Breite an, aber des is ja egal ! Da kann ich ja feste Werte oder 100% auch angeben.
    Wenns die möglichkeit jedoch au noch geben sollte, dann bräucht ich die vll. au! Aber Danke echt hammer....
    -> JuHuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu endlich! :D

    Ein Problemchen gibts da jedoch, er passt sich nicht ganz der Höhe (Länge) an. Bissl scrollen muss man immernoch! was tun ?

  • oh ne tut mir leid! Jetzt funktioniert alles einwandfrei! Danke super. Man wenn dass jetzt noch die 500.000 anderen Anwender wüssten, die alle denken, des ginge nich!

    http://www.google.de/search?hl=de&q=iframe+l%C3%A4nge+an+inhalt+anpassen&btnG=Google-Suche&meta=

  • normal geht es halt auchnet, nur per javascript^^

  • Hallo zusammen,

    ich hatte bzw. habe das gleiche Problem und wollte fragen, ob das auch nur für die Breite geht? Kann ich einfach Height mit Width tauschen in dem oben genannten Beispiel?

  • breite gibt im firefox ein paar probleme.... ich habs mir nochnet genauer angeguckt aber vlt weiss webmatze da was :)
    hier hab ichs mal noch nen bisle übersichtlicher geschrieben :D http://www.voodoon.com/?page_id=38

  • Danke für die Info, dann werd ich die Breite erstmal fix lassen. :)

  • Hallo,

    ich habe das Script bei mir eingebaut wodurch sich die Länge des iframe dynamisch anpasst, leider habe ich damit ein kleines Problem. Wenn ich die Seite aufrufe dann bekomme ich immer einen Script-Fehler gemeldet, der sich in der Zeile befindet. Kann mir da jemand helfen? Wäre Super!

    Gruß Björn

  • link plz

  • So, das ist der Bösewicht:








    function dynIFrameSize(){

    var parentObject = parent.document.getElementById('inhalt').style;

    var THIS = document.getElementById('content');


    parentObject.height=(THIS.offsetHeight)+ 20 + "px";

    }

    window.onload = dynIFrameSize;


    Neue Seite



    Mein Inhalt.....




    Ich habe leider keinen Plan was daran falsch sein sollte, danke für deine Hilfe im voraus.

  • lies dir das ganze nochmal durch....glaub dann merkste was

  • Ne, leider kann ich keinen Fehler sehen. Help me please.

  • zum einen haste das gleiche doppelt drinnen, zum anderen ist das scirpt an der falschen stelle, wo ist dein iframe, wo ist deine umgebende datei ?

  • Was habe ich denn doppelt? Wo soll denn das Script hin? Der iframe ist doch auf der Startseite, dieser Quelltext ist doch von der Seite die im iframe eingeblendet wird. Was meinst Du denn mit der umgebenden Datei? Das ganze funktioniert soweit ich habe nur das Problem, das vorher ein Script-Fehler angezeigt wird der auf die Zeile verweist. Ich habe einen Teil dieses Scriptes von dieser Seite (den usw.) und den restlichen Teil von der Seite die Du verlinkt hast (http://www.voodoon.com/?page_id=38). Was habe ich denn falsch gemacht und wieso funktioniert es, bis auf den Script-Fehler in der , trotzdem? Ich weiß nicht weiter.

  • das body onload gehört garnicht ins script ! das steht nirgendwo auf voodoon im tut ;)

  • Wenn ich die rausnehme, dann funktioniert es nicht mehr. Er zeigt mir dann einen Script-Fehler in folgender Zeile an: var parentObject = parent.document.getElementById('inhalt').style;

    Fehler: Objekt erforderlich
    Was nun?

  • http://www.voodoon.com/projects/iframetest/iframe.html

    guck dir mal den quelltext von der datei aus wie der aussieht und lies dir das mal auf voodoon.com durch....
    du hast 1mal eien datei wo drinen steht , da kommt KEIN js rein. die datei die da eingebundne wird, da kommt das js rein, also in den content vom frame.
    wenn du diese seite jedoch normal aufrufst,a lso OHNE iframe kommt natürlich nen scriptfehler, da es kein parent object gibt,

  • Soweit habe ich dummerweise nicht gedacht. Jetzt ist alles klar.

    Nochmal vielen Dank für deine Mühe!

Willkommen!

It looks like you're new here. If you want to get involved, click one of these buttons!

Einloggen Registrierung!

Diskussionsteilnehmer

Who's Online (0)