Si la musique est un fichier midi
<embed src="repertoire/fichier_musique.mid" width="0" height="0" loop="true" autostart="true" />
suffisait il y a quelques temps, avant que Microsoft perde son procès pour avoir emprunter (pirater) le fonctionnement des contrôles activeX à une société tierce. Et comme Bill est pauvre (tout le monde le sait), il n'a pas voulu payer des droits de licence. Ce qui fait qu'il a introduit un bug dans ses dernières maj d'IE pour que les contrôles activeX ne fonctionnent plus directement. Pour cette raison on voit souvent sur les sites qui n'ont pas été mis à jour "cliquer... pour pouvoir activer les contrôles activeX".
Voilà pour la petite histoire.
Pour contourner ce problème on peut faire appel à du javascript externalisé (qui ne doit pas se trouver sur la même page) pour réécrire le code.
code externalisé dans une page nommée par ex musiquedefond.js:
Code : Tout sélectionner
function musiquedefond()
{
document.write('<embed src="repertoire/fichier_musique.mid" width="0" height="0" loop="true" autostart="true" />');
}
code de la page d'appel
Code : Tout sélectionner
<script src="Scripts/musiquedefond.js" type="text/javascript"></script>
...
<script type="text/javascript">
<!--
musiquedefond();
//-->
</script>
Si le fichier son n'est pas un fichier midi (le seul reconnu par tous les navigateurs), il faut inclure par exemple un lecteur mp3 qui sera caché. Il en existe en flash, libre de droits ex dewplayer. Mais attention pour IE: même remarque que ci-dessus pour l'intégration d'objet flash dans une page html.