使用html5 manifest ajax预加载页面以缓存它们

时间:2011-05-18 16:41:05

标签: ajax html5 manifest preload

我目前的情况是我有在线课程网站。但我希望它可以在本地离线访问。我在课程中添加了所有主题的清单。如果访问它们,它们将在本地缓存。

但是,我现在想要添加一个“使离线可用”按钮来预加载所有这些页面而无需先手动访问它们。

我尝试通过按钮触发的多个ajax调用来加载所有这些文件。他们会$ .get()页面,我希望浏览器会缓存它们。但是,它似乎不起作用。似乎浏览器没有解释它没有显示的页面......

有没有办法通过使用JavaScript和清单来做到这一点?

谢谢!

3 个答案:

答案 0 :(得分:3)

我相信,清单并不能按你想要的方式运作。清单文件中的条目将在后台缓存。用户永远不必访问该页面以进行缓存。

这是html5清单的一个很好的资源:http://diveintohtml5.ep.io/offline.html

答案 1 :(得分:0)

是的。但是manifest文件中的所有资源请求都没有任何参数,例如:

CACHE MANIFEST

CACHE:
/cgi-bin/imgrequest.cgi     # OK
/cgi-bin/request.cgi?id=123 # Wrong, it does not work

答案 2 :(得分:0)

您可以发送ajax请求并预先获取页面内容并将其保存在隐藏的div中。您可以为触发页面导航的事件编写处理程序,并在请求时显示相应的div。