JavaScript: Modification de l'attribut src d'une balise d'intégration

J'ai le scénario suivant.

Je montre à l'utilisateur des fichiers audio à partir du serveur. L'utilisateur clique sur l'un, puis onFileSelected est finalement exécutée avec à la fois le dossier et le fichier sélectionné. Ce que la fonction n'est le changement de la source de l'objet incorporé. Donc dans un sens, il est un aperçu du fichier sélectionné, avant de l'accepter et d'enregistrer le choix de l'utilisateur. Une aide visuelle.

HTML

<embed src="/resources/audio/_webbook_0001/embed_test.mp3" type="audio/mpeg" id="audio_file">

JavaScript

function onFileSelected(file, directory) {
   jQuery('embed#audio_file').attr('src', '/resources/audio/'+directory+'/'+file);
};

Maintenant, cela fonctionne très bien sous Firefox, mais Safari et Chrome tout simplement refuser de changer la source, indépendamment du Système d'Exploitation.

jQuery trouve l'objet (jQuery.size() renvoie 1), il exécute le code, mais aucun changement dans le Code HTML.

Pourquoi Safari m'empêcher de changer le <embed> source et comment puis-je contourner cela?

source d'informationauteur Mike