У меня есть следующий сценарий.
Я показываю пользователю несколько аудиофайлов с сервера. Пользователь нажимает на один, а затем onFileSelected в конечном итоге выполняется как с выбранной папкой, так и с файлом. То, что делает функция, это изменение источника из встроенного объекта. Таким образом, это предварительный просмотр выбранного файла, прежде чем принимать его и сохранить выбор пользователя. Визуальная помощь.
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);
};
Теперь это прекрасно работает в Firefox, но Safari и Chrome просто отказываются менять источник, независимо от операционной системы.
jQuery находит объект (jQuery.size() возвращает 1), он выполняет код, но без изменения кода HTML.
Почему Safari не позволяет мне изменить источник <embed>
и как я могу обойти это?