Ich habe das folgende Szenario.
Ich zeige dem Benutzer einige Audiodateien vom Server. Der Benutzer klickt auf eine, dann wird onFileSelected schließlich sowohl mit dem ausgewählten Ordner als auch mit der Datei ausgeführt. Die Funktion ändert die Quelle des eingebetteten Objekts. Es handelt sich also gewissermaßen um eine Vorschau der ausgewählten Datei, bevor sie akzeptiert und die Auswahl des Benutzers gespeichert wird. Eine visuelle Hilfe .
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);
};
In Firefox funktioniert dies problemlos, aber Safari und Chrome weigern sich einfach, die Quelle zu ändern, unabhängig vom Betriebssystem.
jQuery findet das Objekt (jQuery.size() gibt 1 zurück), führt den Code aus, aber keine Änderung des HTML-Codes.
Warum hindert mich Safari daran, die <embed>
Quelle und wie kann ich dies umgehen?