Javascript Jquery在源代码更改后刷新映像
我有一个JavaScript函数,可以播放声音文件(使用phonegap)。它通常工作正常,但我想在下载文件时将Javascript Jquery在源代码更改后刷新映像,javascript,jquery,Javascript,Jquery,我有一个JavaScript函数,可以播放声音文件(使用phonegap)。它通常工作正常,但我想在下载文件时将imgsrc更改为加载图标。但是,src发生了变化 播放文件后 我试图将+new Date().getTime()添加到src的末尾,但没有效果。有什么想法吗 function playSound(){ var img = $(this).prev(); img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTim
imgsrc
更改为加载图标。但是,src发生了变化
播放文件后
我试图将+new Date().getTime()
添加到src的末尾,但没有效果。有什么想法吗
function playSound(){
var img = $(this).prev();
img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}
这可能是因为直到当前运行循环结束时才重新绘制图像。如果
Media.play()
被阻止,您可能无法看到图像更改,直到它完成播放
要确认我的怀疑,请尝试以下代码:
function playSound(){
var img = $(this).prev();
img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());
setTimeout(function() {
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}, 100);
}
尝试删除src属性,然后使用不同的src再次添加
function playSound(){
var img = $(this).prev();
img.removeAttr("src").attr("src","css/images/ajax-loader.gif?"+new Date().getTime());
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}
延迟可能是预加载问题。首先尝试一下,如果它仍然存在,我们继续。:)谢谢,这就是问题所在。使用您的代码,它会更新代码并显示加载的动画,但会在一段时间内阻止动画。但总比什么都没有好。是的,看起来你的媒体元素在主线程上阻塞了。您应该查看文档,看看是否有办法让它异步预加载。