我有一个图片密集的网页,需要在移动设备上离线查看。
我发现jquery plugin/tutorial会将图像存储在本地存储中,但这对我的目的不起作用。
这是否可以很容易地适应使用indexeddb?
此外,我的图片会定期更新。有一种方法可以在一段时间后自动清除缓存版本,并强制用户从网络重新加载吗?
答案 0 :(得分:1)
<强>索引资料强> 您可以将图像存储到IndexedDB中,但是您将负责保存它们,清除它们并根据需要更新它们。
此外,如果您需要它在移动设备上工作,IndexedDB不是您想要的,因为当前的移动浏览器都不支持IndexedDB。 (来源:http://caniuse.com/#feat=indexeddb)
离线应用 我建议您使用名为Application Cache的新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的更多信息,或者只是在谷歌搜索示例。