Wolfgang: Element in DOM einfügen funktioniert nicht richtig!

Hi,

folgendes Problem: Ich bastle gerade an einer Extension für Firefox und will zB ein iFrame in den DOM-Baum einfügen. Hier ein kleines Bsp zu dem Problem welches ich habe.

Wenn ich ein normales HTML-file hab funktionierts auch ohne Probleme:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<script type="text/javascript">
  function insertFrame()
  {
    var iframe = document.createElement("IFRAME");
    document.body.appendChild(iframe);
  }
</script>
<HEAD>
  <TITLE> New Document </TITLE>
</HEAD>
<BODY>
  <p>
    <a onmouseover="insertFrame();">Insert Frame</a>
  </p>
</BODY>
</HTML>

Der DOM-Inspector zeigt mir auch den Knoten mit dem dazu gehörenden Unterknoten(Document) auch an.

Aber bei meiner Extension wird zwar der Eintrag("IFRAME") in die DOM-Struktur eingefügt aber es wird keine richtiges IFRAME erstellt mit dazugehörigen Unterknoten.

Hier die veränderte overlay.xul aus dem helloworld.xpi

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://helloworld/skin/overlay.css" type="text/css"?>
<!DOCTYPE overlay SYSTEM "chrome://helloworld/locale/overlay.dtd">
<overlay id="helloworld-overlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script>
 function insertFrame()
 {
   var iframe = document.createElement("IFRAME");
   window.content.document.body.appendChild(iframe);
 }
  </script>

<menupopup id="menu_ToolsPopup">
    <menuitem id="helloworld-hello" label="&helloworld;"
              oncommand="insertFrame();"/>
  </menupopup>
</overlay>

Wenn die Seite aber abgespeichert wird und neu geladen wird dann zeigt er mir das IFRAME an und in der DOM-Struktur ist das Iframe auch richtig erstellt.

Wie kann ich auch mit meiner Extension das iframe richtig in die DOM-Struktur einfügen ohne zB den Body neu zeichnen zu lassen (zB durch auslesen und einfügen des innerHTML)?

lg Wolfgang