Bonjour,

Après avoir lu sans arrêt que le innerHTML ou le document.write était à bannir, je me suis lancé dans la création d'objets via le DOM.
Malheureusement, après avoir créé ma fonction, le bouton Flash ne s'affiche pas .

Voici le code javascript :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function myButton() {
 
	var objBut = document.createElement("object");
 
	var paramMovie = document.createElement("param");
	var paramQuality = document.createElement("param");
	var paramFlashvars = document.createElement("param");
	var paramScale = document.createElement("param");
	var paramWmode = document.createElement("param");
 
	paramMovie.setAttribute("name","movie");
	paramMovie.setAttribute("value","flash/button.swf");
 
	paramQuality.setAttribute("name","quality");
	paramQuality.setAttribute("value" , "high");
 
	paramFlashvars.setAttribute("name","flashvars");
	paramFlashvars.setAttribute("value","custom_xml_url=button.xml&item_text=essai&item_url=_home.htm&button_id=1&isIE=false");
 
	paramScale.setAttribute("name","scale");
	paramScale.setAttribute("value","noScale");
 
	paramWmode.setAttribute("name","wmode");
	paramWmode.setAttribute("value","transparent");
 
	objBut.appendChild(paramMovie);
	objBut.appendChild(paramQuality);
	objBut.appendChild(paramFlashvars);
	objBut.appendChild(paramScale);
	objBut.appendChild(paramWmode);
 
 
	objBut.setAttribute("id","anim1");
	objBut.setAttribute("codebase","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0");
	objBut.setAttribute("width","240");
	objBut.setAttribute("height","31");
	objBut.setAttribute("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000");
	objBut.setAttribute("type","application/x-shockwave-flash");
 
	document.getElementById("but1").appendChild(objBut);
}
Et voici le code HTML :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<div class="menu" id="but1">
    <script type="text/javascript">
        myButton();
    </script>
</div>
J'ai trouvé une astuce sur un forum pour tromper IE en créant les attributs de la balise <object> après avoir injecté les balises <param> dans <object> (pour ne pas créer de balises <embed>)

Après analyse, je n'arrive toujours pas à trouver mon erreur...

Merci d'avance !