我可以手动将页面添加到浏览器的缓存中吗?

时间:2013-06-02 03:50:36

标签: javascript ajax html5 browser-cache html5-appcache

我的页面发出两个请求:一个是/ login,一个是/ treeContents?rootID = 9。我想将它们组合成一个请求,/ loginAndTreeContents?rootID = 9

但是,旧的方式意味着将从缓存中检索/ treeContents?rootID = 9的后续请求,而新的方式意味着它们不会。

所以我在想,有没有办法用javascript手动接受/ loginAndTreeContents的响应?rootID = 9并将其插入缓存,就好像它是来自/ treeContents?rootID = 9,以便后续请求只是归还那个?

有没有办法用javascript手动执行?或许,HTML5的appcache可以帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:1)

没有。您无法将来自一个URL的响应神奇地作为来自另一个URL的缓存结果。这不是缓存的工作方式。它仅将页面作为实际来自的URL存储在缓存中。

可以通过将页面加载到不可见的iframe来预先缓存页面。

也可以将所需的HTML填充到LocalStorage中,然后在其他页面中使用您自己的JS从中检索它。