我有一個圖像沉重的網頁,需要在移動設備上離線查看。使用jquery緩存indexeddb中的圖像以供離線使用
我發現jquery plugin/tutorial在本地存儲中存儲圖像,但這不適合我的目的。
這是可以很容易地適應使用indexeddb而不是?
此外,我的圖像將定期更新。有沒有一種方法可以在一段時間後自動清除緩存版本,並強制用戶從網上重新加載?
我有一個圖像沉重的網頁,需要在移動設備上離線查看。使用jquery緩存indexeddb中的圖像以供離線使用
我發現jquery plugin/tutorial在本地存儲中存儲圖像,但這不適合我的目的。
這是可以很容易地適應使用indexeddb而不是?
此外,我的圖像將定期更新。有沒有一種方法可以在一段時間後自動清除緩存版本,並強制用戶從網上重新加載?
IndexedDB 您可以將圖像存儲到IndexedDB中,但您將負責保存它們,清除它們並根據需要更新它們。
另外,如果你需要它在移動設備上工作,IndexedDB不是你想要的,因爲目前的移動瀏覽器都不支持IndexedDB。 (來源:http://caniuse.com/#feat=indexeddb)
離線應用 我會建議您改爲使用稱爲應用程序緩存一個新的HTML5功能。這是幾乎所有的瀏覽器都能支持(來源:http://caniuse.com/#feat=offline-apps)
要使用它,你只需要創建一個Website.manifest文件如:
CACHE MANIFEST
# v0.0.3 2011-12-21
images/ImageThatIWantToCache.png
images/SecondImage.png
然後在您的網頁改變HTML標籤是這樣的:
<html manifest="Website.manifest">
優點:1. 瀏覽器會自動緩存 2.您訪問使用原始URL(即/images/SecondImage.png)圖像的圖像 3.更新更容易,只需將新映像放到Web服務器上並更新清單文件中的版本號即可。
你可以閱讀更多關於Offline spec,或只是谷歌搜索的例子。
您也可以查看html5中的緩存清單功能作爲替代 – sottenad 2012-01-16 18:09:21
我爲html和網站UI圖像使用緩存清單,但主要內容中的圖像將超出緩存清單所允許的限制,所以我試圖改用Indexeddb。 – artmem 2012-01-16 22:13:46