tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
479
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von exiter28
    exiter28 exiter28 ist offline Mitglied Gold
    Registriert seit
    Apr 2009
    Beiträge
    175
    hallo Jungs,

    ich hab folgendes Problem. mit einem i-frame rufe ich ein gästebuch auf. Das Problem ist
    nun, daß der i-frame sich nicht der höhe anpasst. Also wenn die Einträge mehr werden, dann
    sollte sich auch der frame daran anpassen. Ich hab das schon mit style="heigt:auto;" versucht, aber
    das geht leider nicht.

    Hat einer einen Tip für mich?

    Besten Dank schon mal!
     

  2. #2
    Maik Tutorials.de Gastzugang
    Hi,

    für dein Vorhaben benötigst du in diesem Fall Javascript.

    Ein Lösungsbeispiel findest du hier: http://www.doktormolle.de/temp/iframe_resize2/

    mfg Maik
     

  3. #3
    Avatar von exiter28
    exiter28 exiter28 ist offline Mitglied Gold
    Registriert seit
    Apr 2009
    Beiträge
    175
    Zitat Zitat von Maik Beitrag anzeigen
    Hi,

    für dein Vorhaben benötigst du in diesem Fall Javascript.

    Ein Lösungsbeispiel findest du hier: http://www.doktormolle.de/temp/iframe_resize2/

    mfg Maik
    Hi Maik,

    danke für Deinen Tipr, aber leider funktioniert das nicht.

    mein Code sieht so aus:

    HTML-Code:
    <html>
    <head>
    <title>Test</title>
    <script type="text/javascript">
    
    function resize_me(n){
      d=10;
    
      ifObj=document.getElementsByName(n)[0];
    
      p=(document.all)?'scroll':'offset';
    
      // w = (W3C-DOM)? Breite in px : ((IEs)? Breite in px : Breite in px sonstige Browser)
      w = (window.getComputedStyle)? window.getComputedStyle(ifObj, null).getPropertyValue('width') :
                                   ((ifObj.currentStyle) ? ifObj.currentStyle['width'] : eval("window.frames[n].document.getElementsByTagName('body')[0]."+p+"Width+"+20+"+'px'"));
    
      ifObj.style.width = w;
      eval("ifObj.style.height=Math.max(200,window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d+")+'px'");
    }
    
    </script>
    
    </head>
    <body>
    
    <iframe frameborder="0" framespacing="0" border="0"  width="97%" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" noresize src="http://gästebuch.de">:o(</iframe>
    oder mache ich noch was falsch?
     

  4. #4
    Maik Tutorials.de Gastzugang
    Der iFrame benötigt noch einen Namen, z.B. name="content", und das Dokument, das darin geladen wird, folgende Ergänzung im <body>-Tag:

    HTML-Code:
    <body onload="parent.resize_me('content')">

    mfg Maik
     

  5. #5
    Avatar von exiter28
    exiter28 exiter28 ist offline Mitglied Gold
    Registriert seit
    Apr 2009
    Beiträge
    175
    Zitat Zitat von Maik Beitrag anzeigen
    Der iFrame benötigt noch einen Namen, z.B. name="content", und das Dokument, das darin geladen wird, folgende Ergänzung im <body>-Tag:

    HTML-Code:
    <body onload="parent.resize_me('content')">

    mfg Maik
    Vielen Dank! jetzt funktionierts. Jedoch hab ich jetzt ein Problem mit meinem Navi - Bereich.
    Sobald ich im body den onload setze, funtkioniert mein Navigationsbereich nicht mehr.
    Also das auf und zuklappen der Untermenüs. Kann man den onload auch an einer anderen Stelle
    setzen?


    Danke!
     

  6. #6
    Maik Tutorials.de Gastzugang
    Nö, der gehört in den <body>-Tag.

    Oder du versuchst es alternativ im Dokumentheader mittels window.onload in einem <script></script>-Bereich.

    mfg Maik
     

  7. #7
    Maik Tutorials.de Gastzugang
    Zur Verdeutlichung, wovon ich eben gesprochen habe:

    HTML-Code:
    <html>
    <head>
    <title>Test</title>
    
    <script type="text/javascript">
    <!--
    function resize_iframe() {
        parent.resize_me('content');
    }
    window.onload = function() {
        resize_iframe();
    }
    //-->
    </script>
    
    </head>
    <body>
    ...
    </body>
    </html>

    Vermutlich läuft dein Navigationsmenü mit JS, und besitzt ebenfalls solch einen onload-Event.

    So hast du nun die Möglichkeit, alle Funktionen darin aufzunehmen, die beim Seitenaufruf initialisiert werden sollen:

    Code javascript:
    1
    2
    3
    4
    
    window.onload = function() {
        function1();
        function2();
    }

    mfg Maik
     

  8. #8
    Avatar von exiter28
    exiter28 exiter28 ist offline Mitglied Gold
    Registriert seit
    Apr 2009
    Beiträge
    175
    Zitat Zitat von Maik Beitrag anzeigen
    Zur Verdeutlichung, wovon ich eben gesprochen habe:

    HTML-Code:
    <html>
    <head>
    <title>Test</title>
    
    <script type="text/javascript">
    <!--
    function resize_iframe() {
        parent.resize_me('content');
    }
    window.onload = function() {
        resize_iframe();
    }
    //-->
    </script>
    
    </head>
    <body>
    ...
    </body>
    </html>

    Vermutlich läuft dein Navigationsmenü mit JS, und besitzt ebenfalls solch einen onload-Event.

    So hast du nun die Möglichkeit, alle Funktionen darin aufzunehmen, die beim Seitenaufruf initialisiert werden sollen:

    Code javascript:
    1
    2
    3
    4
    
    window.onload = function() {
        function1();
        function2();
    }

    mfg Maik
    Hi Maik,

    besten Dank für die Infos. Ich versuchs mal.
     

Ähnliche Themen

  1. Transparenz, die sich anpasst
    Von mafiamix im Forum Sonstige Grafik-Programme
    Antworten: 5
    Letzter Beitrag: 21.12.09, 15:15
  2. iFrame der sich dem Inhalt anpasst?
    Von pauschpage im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 07.06.07, 16:47
  3. div-Höhe soll sich Inhalt anpassen
    Von Geflügel im Forum CSS
    Antworten: 9
    Letzter Beitrag: 28.05.06, 08:21
  4. Antworten: 7
    Letzter Beitrag: 18.07.05, 20:09
  5. Inhalt vom Iframe passt sich nicht an..
    Von seven-php im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 03.02.04, 21:28