我正在使用swfsound为非html5兼容的浏览器编写音频播放器。 我有三个示例文件,sound1,sound2和sound3。
在做了一些测试之后,我用其他文件改变了sound1,但令人惊讶的是原始文件仍在浏览器中缓存。我删除了原始文件,移动到其他文件夹,没办法。
成功重现新文件的唯一方法是激活“禁用缓存”功能。我正在寻找一种方法或方法来卸载前一个文件(如果有的话),然后再加载一个新文件。音频播放器将播放不同的mp3文件,并且以现在的方式工作,它将不会成功。
我将不胜感激。
答案 0 :(得分:2)
这是一个非常古老的,非常着名的问题,有一个非常古老而众所周知的工作,可以避免在flash中缓存单个链接。您只需在每次调用时将垃圾邮件附加到URL的末尾即可。例如:
myUrlLoader.load(new URLRequest("http://sameOldSite.com/sameOldfile.mp3?" + new Date().toString() ));
该代码未经测试,因此可能不准确,但您明白了。通过附加新的Date,每次创建新的Date()或回收单个日期对象并继续调用toString()或getTime()或其他任何内容时,您将获得一个唯一的字符串。我想你也可以用全局计时器对象做同样的事情。这个额外垃圾串被丢弃,因为它被视为GET变量并且未被使用。