HTML5音频.替换元素仍然是相同的音频文件(缓存)如何解决?

zer*_*r02 5 html javascript html5 caching html5-audio

我在HTML文件中使用HTML5 Audio元素.

尝试很多方法,我只是无法通过AJAX替换音频文件,它仍然返回相同的audiofile.

<div id="audiodiv">
   <audio id="audioelement">
    <source src="test.ogg" type="audio/ogg">
   </audio>
</div>
Run Code Online (Sandbox Code Playgroud)

所以我记录了一个名为test.ogg的新文件,它覆盖了旧文件.我尝试使用jQuery并使用$("#audiodiv").html('') 和重新渲染这部分.然后通过document.getElementbyID然后使用获取元素.play() function.

它返回相同的旧test.ogg,它已被新的覆盖.

所以我试图删除缓存,仍然是同样的问题.

这种方法的唯一方法是删除缓存并关闭浏览器并再次调用该页面...

我怎么解决这个问题?

非常感谢你的帮助.

rob*_*rtc 5

如果您不打算更改文件名但继续更新它,那么您需要将立即ExpiresHTTP 标头添加到服务器端的响应中。具体如何执行此操作取决于您使用的服务器。常见的包括ApacheIIS

然而,让浏览器缓存音频并为每个新文件指定不同的名称会更容易,也是更好的做法。