DOM-indsættelse af param-element
Hej Eksperter.Jeg tænkte, at jeg lige ville stykke en DOM-kode sammen, som indsatte et Flash-objekt et bestemt sted på siden. Formålet skulle bl.a. være at undgå "Click to active", som IE7 har medført, og det kan jo omgåes ved at indsætte Flash'en med en ekstern JavaScript-kode.
Så jeg fandt frem til en kode, der skulle være fuldt ud valid i følge W3C-standard (HTML 4.01):
<object type="application/x-shockwave-flash" data="banner.swf" width="800" height="250">
<param name="movie" value="banner.swf">
</object>
Og jeg bruger så følgende kode til indsættelsen:
------------------------------------------------
function flash(src,container){
var newElement=document.createElement("object");
newElement.setAttribute("type","application/x-shockwave-flash");
newElement.setAttribute("data",src);
newElement.setAttribute("width","800");
newElement.setAttribute("height","250");
newElement.appendChild(document.createElement("param"));
newElement.firstChild.setAttribute("name","movie");
newElement.firstChild.setAttribute("value","banner.swf");
container.appendChild(newElement);
}
------------------------------------------------
Men param bliver aldrig indsat i object i IE7! Det fungerer upåklageligt i FF og diverse andre browsere, men IE7 nægter simpelthen.
Jeg har også lagt mærke til, at selvom man manuelt har skrevet flash-koden i HTML, så vises <param>-tag'et ikke, når man alerter sidens kode. Dog kræves param-tag'et for at få koden til at fungere i IE7.
Jeg har søgt på W3.org og fået bekræftet, at param stadig er fuldt gyldigt i HTML 4.01, så hvorfor fungerer det ikke? Jeg har heller ikke kunne finde noget på nettet om, at det skulle være en bug i IE. Laver jeg en fejl, jeg ikke ser, i den ellers meget korte kode?
Lige nu fungerer det - med innerHTML! Så det holder jo ikke i længden.
Håber I kan hjælpe, og på forhånd tak!
