11548 sujets

JavaScript, DOM et API Web HTML5

Je mets en place sur mon site une page où plusieurs enregistrements sonores peuvent être lus. Quand on clique sur le lien correspondant à un enregistrement, une "pseudo-fenêtre" (créée avec Highslide) apparaît, avec le player dewplayer. Il y a un boutob "Fermer", géré par Highslide, qui ferme cette "pseudo-fenêtre".

Mon problème est que sur PC, je n'arrive pas à arrêter le son à la fermeture de cette pseudo-fenêtre :
- sur Mac, le simple fait de cliquer sur le bouton "Fermer" de Highslide arrête le son, mais pas sur PC (dewplayer disparaît, mais le son continue);
- J'ai du coup mis en place un bouton Stop qui fait stopper le son par Javascript; là aussi, ça marche sur Mac et pas sur PC.

Le code du bouton Stop (un lien en fait) est :
<a href='#' onclick='player_stop();'>test</a>

et la fonction player_stop est:
function player_stop() {
var dewp = document.getElementById("dewplayer");
if(dewp!=null) dewp.dewstop();
}

J'ai vérifié que l'élément d'id dewplayer est bien trouvé (si je reamplace dewp.dewstop() par alert("toto"), ça marche), mais pourtant le son ne s'arrête pas.

Pour l'instant j'ai testé sur Safari 5 (Mac) et IE8 sur XP SP2 (P). Sur le site (en local pour l'nstant), j'ai dewplayer.swf et swfobject.js (v2.2). Ce qui me trouble est que ça marche parfaitement sur Mac, pas sur PC.

Une idée peut-être ?