Jürgen Hoffmann: iframe im IE nicht richtig positioniert

Hallo,

ich möchte dynamisch per Javascript einen iframe in einer HTML Seite erzeugen. Das funktioniert auch ganz prima mit Firefox/Mozilla.
Leider ist der iframe im IE 6.0 auf der HTML Seite immer links oben positioniert, während der selbe Quelltext im Firefox 1.5 die gewünschte Positionierung zeigt.

Da ich jetzt schon mehrere Stunden hier und in anderen Foren recherchiert habe und offensichtlich niemand anderes ein ähnliches Problem hat(te) poste ich hier den inzwischen völlig zusammengestrichenen Code. Wo ist das Problem?

Ich habe es auch schon ohne <div> probiert. Das Problem ist immer das selbe.

Danke für Eure Hilfe,

Jürgen

<html>
<script type="text/javascript">
                    function create() {

var adiv = document.createElement("div");
                        adiv.setAttribute("id","bdiv");
                        adiv.setAttribute("style","position: absolute; left: 10px; top: 168px;");

var frameurl="http://web.de";

var bform = document.getElementById("body1");
                        var cframe = document.createElement("iframe");
                        cframe.setAttribute("src",frameurl);
                        cframe.setAttribute("id","web");
    cframe.setAttribute("width","863");
    cframe.setAttribute("height","637");
                        cframe.setAttribute("marginwidth","0");
                        cframe.setAttribute("marginheight","0");
                        cframe.setAttribute("frameborder","0");
    cframe.setAttribute("style","left: 10px; top: 168px;");

bform.appendChild(adiv);
                        adiv.appendChild(cframe);

}
                </script>
<body id="body1" onload="create();">
</body>
</html>

  1. Hi,

    für den IE musste das anders machen.

    So funzt das:

    adiv.style.position = "absolute";
      adiv.style.left = "10px";
      adiv.style.top = "168px";

    Und zweitens: var bform = document.getElementById("body1");

    Wieviele body-Tags hast du denn? Ich glaube nur einen oder? Mehr geht auch nicht. Also:

    var bform = document.getElementsByTagName("body")[0];

    Grüße,
    Thorsten F.

    1. Hallo Thorsten.

      Wieviele body-Tags hast du denn? Ich glaube nur einen oder? Mehr geht auch nicht. Also:

      var bform = document.getElementsByTagName("body")[0];

      Oder kürzer:

      var bform = document.body;

      (Wobei sich hier die Zwischenspeicherung in einer Variable schon fast nicht mehr lohnt.)

      Einen schönen Dienstag noch.

      Gruß, Mathias

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      debian/rules
    2. adiv.style.position = "absolute";
        adiv.style.left = "10px";
        adiv.style.top = "168px";

      DANKE! Das löst das Problem.

      Jürgen