我有以下情形。JavaScript:更改嵌入標籤的src屬性
我向用戶顯示一些來自服務器的音頻文件。用戶點擊一個,然後onFileSelected最終與選定的文件夾和文件一起執行。該函數的功能是從嵌入對象中更改源代碼。因此,在某種程度上,它是在接受它之前預覽選定的文件並保存用戶的選擇。 A visual aid。
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>
源代碼,我該如何繞過這個?
我試過了,但它並沒有以某種方式工作。它附加了新的嵌入標籤,但沒有刪除舊嵌入標籤。 我正在考慮使用iframe的變體,但這不是一個非常優雅的解決方案。 – Mike 2010-03-22 16:50:36
我有類似的問題,這對我有用。謝謝! – petejamd 2010-11-18 17:16:17
我的問題是,通過編程改變src並調用play()仍然會導致原始的src被播放。按照這個建議,我現在刪除並重新添加嵌入元素,聲音播放正確。謝謝 – Scottm 2011-01-17 15:05:14