2012-11-26 51 views
5

的HTML5應用程序緩存API需要瀏覽器重新加載清單文件的緩存部分中聲明的所有文件(當清單文件已發生變化,更新呼籲applicationCache API) 。在HTML5應用程序緩存項的選擇性清除

我的清單文件包含數千個條目。是否有任何技巧告訴瀏覽器只重新加載已更改的文件?

回答

4

我面臨缺乏所引起的過度的緩存清單中列出的文件的緩存行爲控制的類似問題。原來,你可以通過使用iFrames來獲得對這個過程的一些控制。

該策略是將您的主緩存清單中列出的數千個文件劃分爲單獨的(並且更易於管理的緩存清單),然後創建大量虛擬HTML頁面,每個頁面都引用緩存清單。然後,爲每個虛擬HTML添加一個鏈接到您的主HTML文檔的iFrame。你可以把iFrames放在一個不可見的div中,這會讓這個竅門對用戶不可見。

當每個iFrame加載時,它檢查其單獨的緩存清單。如果該緩存清單中的任何文件發生更改,則iFrame將只緩存其子文件組。您可以智能地將相關文件分組在一起,具體取決於您希望他們改變多少。

更好的是,您可以在用戶交互的任何時候在主HTML上動態插入iFrame,並且只有在加載iFrame時纔會觸發緩存進度。

相關問題