jquery – JavaScript:更改嵌入代码的src属性

前端之家收集整理的这篇文章主要介绍了jquery – 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>来源和我如何规避这个?

解决方法

您应该删除嵌入元素并重新注入新的src参数集.

嵌入像对象和类似的是两个元素,它们在一些浏览器中的特殊用途(视频,音频,闪存,activex,…)的处理方式与普通的DOM元素不同.因此,更改src属性可能不会触发您期望的操作.

最好的办法是删除现有的嵌入对象,重新插入它.如果您使用src属性作为参数编写某种包装函数,这应该很简单

猜你在找的jQuery相关文章