Katharina: <embed> Element zur Laufzeit erzeugen

Hallo!

Ich möchte zur Laufzeit ein <embed> tag mit Javascript erzeugen. Aber irgendwas scheint hier falsch zu sein.

Das ist mein code:

<html>
<head>
<title>Portal</title>
<SCRIPT type="text/javascript">
function showForm(type)
{
var form = document.createElement('embed');
var src = document.createAttribute('src');
src.nodeValue = 'brandwandform.html';
var type = document.createAttribute('type');
type.nodeValue = 'text/html';
form.setAttributeNode(src);
form.setAttributeNode(type);
document.getElementById('form').appendChild(form);
}
</SCRIPT>
</head>
<body>
<img border="0" src="bsimg-brandwand.gif" alt="Brandwand erzeugen" onClick="showForm('brandwand')">

<p id="form">
</p>
</body>
</html>

Brandwandform.html kann irgendeine HTML Datei sein, die dann als eingebettete Seite erscheinen soll. Warum funktioniert das hier nicht? Hat einer eine Idee?

LG
Katharina

  1. Hallo,

    im Firefox hat Dein Script bei mir insoweit funktioniert, als ein embed-Objekt erzeugt wurde.
    Der IE hatte ein Problem mit der dynamischen Erzeugung der attribute-Knoten.
    So klappt es bei mir in beiden Browsern:
    <html>
    <head>
    <title>Portal</title>
    <SCRIPT type="text/javascript">
    function showForm(type)
    {
    var form = document.createElement('embed');
    form.setAttribute('src', 'multimediadatei.wav');
    form.setAttribute("type", "text/html");
    form.setAttribute("width", "500");
    form.setAttribute("height", "300");
    document.getElementById('form').appendChild(form);
    }
    </SCRIPT>
    </head>
    <a href="#" alt="Brandwand erzeugen" onClick="showForm('brandwand')">Test</a>

    <p id="form">
    </p>
    </body>
    </html>

    Vielleicht hilft Dir das weiter?

    Ciao,
    Andreas