2012-02-13 68 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