使用jquery在indexeddb中缓存映像以供脱机使用

时间:2012-01-16 18:06:40

标签: php jquery indexeddb

我有一个图片密集的网页,需要在移动设备上离线查看。

我发现jquery plugin/tutorial会将图像存储在本地存储中,但这对我的目的不起作用。

这是否可以很容易地适应使用indexeddb?

此外,我的图片会定期更新。有一种方法可以在一段时间后自动清除缓存版本,并强制用户从网络重新加载吗?

1 个答案:

答案 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的更多信息,或者只是在谷歌搜索示例。