java script iframe größenanpassungsprobleme

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • java script iframe größenanpassungsprobleme

    hi, ich habe auf miener page www.picpot.de ein problem, und zwar implimentiere ich den inhalt in einen iframe der seine größe automatisch anpassen sollte je nachdem wieviel platz der inhalt darin braucht, das funktioniert auch bei meinem browser und be einigen meiner bekannten, doch bei manchen (wie auch bei allen mozillausern) funktioniert die funktion des javascripts irgendwie nicht und der iframe hat keine angepasste größe, hab screenshots dabei.

    einmal wo der iframe siene größe nicht anpasst, und dann eben nur ein teil des bidles zu sehen ist, einmal wo ich dann die größe die ja dynamisch erstellt werden sollte auf 1000gefixt habe und dann das ganze nochmal in mozilla wo zusätzlich zu dem fehler alle rahmen udn so falsch angezeigt werden.

    kennem ich mit javascript kaum aus, hier mal der code den ich dafür verwendet habe

    Quellcode

    1. <!-- Externes Element Start -->
    2. <script language="JavaScript">
    3. <!--
    4. function iFrameHeight() {
    5. //alert(window.frames.iframename.document.body.innerHTML)
    6. if(document.getElementById && !(document.all)) {
    7. theFrame = document.getElementById('iframename');
    8. h = theFrame.contentDocument.body.scrollHeight;
    9. theFrame.style.height = h+15;
    10. }else if(document.all) {
    11. h = window.frames.iframename.document.body.scrollHeight;
    12. document.all.iframename.style.height = h+15;
    13. }
    14. }
    15. // -->
    16. </script>
    17. <iframe width="100%" height="$src_height" scrolling="no" frameborder=0
    18. src="http://www.picpot.de/pnews/index.php"
    19. onLoad="iFrameHeight()" name="iframename" id="iframename"></iframe>
    20. <script language="JavaScript">
    21. <!--
    22. if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("Opera") < 0) {
    23. iFrameHeight();
    24. }
    25. // -->
    26. </script>
    27. <!-- Externes Element Ende -->
    Alles anzeigen


    bei den zweiten screenshots habe ich die höhe vom iframe wo die variable steht einfach auf 1000 gestellt, bei den ie´s wo alles funktioniert ist das egal, da durch die funktion iFrameHeight die größe richtig angepasst wird, aber bei einigen eben diese störenden fehler, woran kann das liegen?? thx schonmal

    leider kein platz mehr für ein screenshot wo alles richtig is aber der der mir helfen kann weis bestimmt wie es sei nsollte :D bye
    Bilder
    • ie_fehler_149.jpg

      59,39 kB, 682×656, 435 mal angesehen
    • ie_fehler2_135.jpg

      85,67 kB, 682×805, 419 mal angesehen
    • mozilla_334.jpg

      110,78 kB, 682×731, 456 mal angesehen
  • Dein Script scheint aber auch noch aus einer Zeit zu stammen, als der IE ein 99%iges Marktmonopol hatte. Wundert mich, dass es funktioniert, da es sich über einige Webstandards hinwegsetzt
    Nehmen wir als Beispiel das onload Attribut im Iframe.

    Als Lösung wird die Frameseite selbst den Event auslösen. D.h. in alle Frameseiten baust den den onload Handler ein:

    Quellcode

    1. <body onload="parent.iFrameHeight()">


    Deine iFrameHeight kannst du ebenfalls etwas kürzer fassen:

    Quellcode

    1. function setDimensions() {
    2. h = iframename.document.body.scrollHeight;
    3. document.getElementById('iframename').style.height = h;
    4. }


    Den anderen Darstellungsfehler kannst du auch nur durch validen Code entgegenwirken:
    http://www.validome.org/lang/ge