【问题标题】:Can I manually add pages to the browser's cache?我可以手动将页面添加到浏览器的缓存中吗?
【发布时间】:2013-06-02 03:50:36
【问题描述】:

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

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

所以我在想,有没有办法使用 javascript 手动获取 /loginAndTreeContents?rootID=9 的响应并将其塞入缓存,就好像它来自 /treeContents?rootID=9 一样,以便后续请求将只是退回那个?

有没有办法用 javascript 手动完成?或者,HTML5 的 appcache 可以帮助我吗?谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 哦,有趣!所以我基本上会以 html5 localstorage 的形式制作自己的缓存?
    猜你喜欢
    • 2020-06-07
    • 2014-05-26
    • 2013-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多