我有以下情形。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