2012-02-13 69 views
0

我正在使用离线html5音频播放器。很明显,我必须指定文件类型,例如用于webkit和Vorbis for firefox等的Mp3,如HTML5规范。但是,在iPhone等移动设备上使用时,我只想获取在这种情况下播放MP3所需的文件。有没有办法让我告诉浏览器缓存特定的文件,或者他们必须添加所有的资源,无论如何。因此消除了用户不得不缓存更多需要的文件和超出限制的负担(我知道在移动Safari中只能缓存10MB。)缓存清单中的资源管理

有没有一种方法可以针对每个设备的缓存中的某些资源。

继承人我的清单。

CACHE MANIFEST 

CACHE: 

index.html 
master.js 
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 
style.css 
buttons.png 
image.jpg 
/player/tunes/waterfall-audio.m4a 
/player/tunes/waterfall-audio.oga 

因此,显然在Firefox中,我只需要缓存oga和webkit的MP3。任何见解都会很棒!

回答

0

我不知道任何方式可以在缓存清单文件中定位特定设备或平台。

但是,您可以在服务器端生成清单文件,具体取决于发送请求的客户端。这样你可以为不同的浏览器和平台发送不同的清单文件。

只要确保将MIME类型设置为“text/cache-manifest”即可。

+0

好吧,听起来不错,这将如何实现服务器端? – 2012-03-12 01:50:03

+0

我对服务器端编码不太了解,但可以使清单文件成为动态的,就像动态网页一样。您可以让服务器处理清单文件中的脚本代码,然后使用请求标头确定浏览器。 – 2012-03-12 08:03:17