Bonjour.

Je rencontre un problème lors d'une création de noeud DOM :
Code javascript : 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
42
 
function addMediaPlayer( mediaUrl, containerID, replaceContent ) {
  try {
 
    var container = document.getElementById( containerID );
    if (container == null) {
      alert("cannot initialize media player");
      return;
    }
    // n'ajouter l'élément que si il n'est pas déjà présent
    var playerId = containerID+"/mediaPlayer";
    var existingPlayer = document.getElementById( playerId );
    if ( existingPlayer == null) {
      var mplayer = document.createElement( "object" );
      mplayer.setAttribute( 'type', 'audio/x-mp3' );
      mplayer.setAttribute( 'data', mediaUrl );
      mplayer.setAttribute( 'width', '200' );
      mplayer.setAttribute( 'height', '20' );
      mplayer.setAttribute( 'id', containerID+"/mediaPlayer" );
 
      var param = document.createElement("param");
      param.setAttribute( 'name', 'src' );
      param.setAttribute( 'value', mediaUrl );	
      mplayer.appendChildNode ( param );
 
      param = document.createElement("param");
      param.setAttribute( 'name', 'autoplay' );
      param.setAttribute( 'value', 'false' );	
      mplayer.appendChildNode ( param );
 
      param = document.createElement("param");
      param.setAttribute( 'name', 'autoStart' );
      param.setAttribute( 'value', '0' );	
      mplayer.appendChildNode ( param );
 
      container.appendChildNode( mplayer );
    } else {
    	alert( containerID+"/mediaPlayer déja présent !");
    }   
 
  } catch (e) {alert("problème :\n" + e);}
}

Le noeud mplayer semble mal initialisé et Firebug m'annonce que mplayer est une fonction. J'ai tenté de renommer ma variable, craignant la surcharge d'un nom réservé, mais sans aucun effet. Je me demande donc si ça ne viendrait pas du "object", mais je ne vois pas de raisons.
Il plante systématiquement lors de l'appel de mplayer.appendChildNode ( param );

Merci d'avance.