我正在开发一个 Flash 浏览器游戏,该游戏将通过使用URLRequest
. 我想将这些 MP3 缓存在用户的计算机上,这样就不会在每次用户玩游戏时都重新下载它们,以节省一些服务器带宽。
我可以使用SharedObject
or FileReference
,但两者都需要在某些时候进行用户交互。如果 SharedObject 超过特定大小,则会出现一个弹出窗口,询问用户是否允许增加大小。而使用 FileReference,用户必须确认保存文件。有什么方法可以在不需要用户进行任何交互的情况下做到这一点?似乎 AIR 有办法,但我不想走那条路。
编辑:我做了一些测试,浏览器似乎没有缓存东西。我上传了一个网页并测试了 Flash,它加载了一个外部 4 MB MP3 文件并显示了一个进度条。第一次在浏览器中打开页面时,我让它正常加载。然后我离开那个页面,使用 Net Limiter 将我的下载速度限制为 5 KB/s,然后回到我的测试页面。如果浏览器确实缓存了它,则 MP3 应该立即完成下载,但它从 0% 开始并非常缓慢地填充到 100%。我还尝试了重新加载按钮,在新选项卡中打开测试页面,然后重新启动浏览器,但结果相同。我用 Chrome 和 IE11 试过这个。
edit2:似乎文件缓存设置是在服务器端设置的。我的测试服务器是一个免费的虚拟主机。我似乎无法更改这些设置。