Michael: Höhe des iFrame ändern

Hallo,

ich möchte über JavaScript die Höhe eines iFrames ändern. Die Anweisung

document.getElementById("Inhalt").height = iFHoehe;

funktioniert mit IE6, jedoch FF (FireFox) versteht dies anscheinend nicht. Ich habe auch mal geprüft:

if (document.getElementById("Inhalt").height) {
    alert("Höhe in IE vorhanden!");
  }

IE6 Zeigte den alert an, FF nicht.

Wie muss ich das Problem für FF und andere Browser lösen? - Schon mal Danke für eure Unterstützung!

  1. document.getElementById("Inhalt").height = iFHoehe;

    du versuchst direkt auf height zuzugreifen aber das kannst du nur per css

    du müsstest also schreiben:

    document.getElementById("Inhalt").style.height = iFHoehe;

    dann sollte es klappen (ich verwend nie frames egal welcher art deshalb bin ich mir nicht sicher)

    1. hi,

      du müsstest also schreiben:

      document.getElementById("Inhalt").style.height = iFHoehe;

      dann sollte es klappen

      Und das iFHoehe auch eine Einheit beinhaltet, sollte ebenfalls sichergestellt sein.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
    2. document.getElementById("Inhalt").height = iFHoehe;

      du versuchst direkt auf height zuzugreifen aber das kannst du nur per css

      du müsstest also schreiben:

      document.getElementById("Inhalt").style.height = iFHoehe;

      Es funktioniert im IE6 direkt und über style, jedoch im FF in beiden Fällen nicht! Muss ich dies für FF anders angehen?

      1. document.getElementById("Inhalt").style.height = iFHoehe;

        Es funktioniert im IE6 direkt und über style, jedoch im FF in beiden Fällen nicht! Muss ich dies für FF anders angehen?

        du hast nicht die nachricht von wahsaga gelesen oder?

        die einheit nicht vergessen...

        du willste es z.b. in pixeln angeben? (eine height angabe also kein css brauch keine einheiten angabe - es sind dabei eigentlich immer pixel gemeint. css jedoch benötigt diese angabe weil es viele verschiedene möglichkeiten kennt)

        weil ich nehme mal an du hast für iFHoehe keine angabe gemacht:

        var iFHoehe = 100; // keine angabe - als zahl

        mit angabe wäre es:

        var iFHoehe = "100px"; // 100 pixel - als string

        oder du schreibst es ohne einheit und machst dann:

        document.getElementById("Inhalt").style.height = iFHoehe+"px";   (zahl + string = string)

        1. document.getElementById("Inhalt").style.height = iFHoehe;

          Es funktioniert im IE6 direkt und über style, jedoch im FF in beiden Fällen nicht! Muss ich dies für FF anders angehen?

          du hast nicht die nachricht von wahsaga gelesen oder?

          die einheit nicht vergessen...

          Besten Dank!!! Der Fehler lag ganz wo anders. Die Variable iFHoehe war schon richtig gefüllt. Ich hatte bei der iFrame-Definition name="Inhalt" statt id="Inhalt" angegeben. Komisch aber, das der IE6 damit zurecht kam, jedoch der FF nicht. Na ja, hauptsache, jetzt funktionierts. Nochmal danke für deine Bemühungen! Diesen Fehler werde ich wahrscheinlich nicht mehr machen!!!

      2. document.getElementById("Inhalt").height = iFHoehe;

        du versuchst direkt auf height zuzugreifen aber das kannst du nur per css

        du müsstest also schreiben:

        document.getElementById("Inhalt").style.height = iFHoehe;

        Es funktioniert im IE6 direkt und über style, jedoch im FF in beiden Fällen nicht! Muss ich dies für FF anders angehen?

        Habe Fehler gefunden. Musste bei der Definition des iFrame nicht name="Inhalt", sondern id="Inhalt" angeben. Konntest du nicht wissen, ab jetzt weiß ichs auch! - Danke!