html - 从 HTML5 离线应用程序缓存中省略当前页面,但使用缓存资源

标签 html offline-caching manifest.cache cache-manifest html5-appcache

出于性能目的,我想让我的一些网页使用已缓存供离线使用的资源(图像、CSS 等),但不缓存页面本身,因为内容将动态生成。

实现此目的的一种方法是重构我的页面,以便它们通过 AJAX 或通过在 LocalStorage 中查找内容来加载动态内容。细节可能有所不同,但从广义上讲,大致如此。

如果可能的话,我更愿意找到一种方法来简单地指示浏览器为页面使用缓存资源(同样是图像、CSS 等),而不是实际缓存(动态生成的)HTML 内容本身.

有没有办法用 HTML5 离线应用程序缓存做到这一点?我的印象是答案是否定的,因为:

  • 任何包含 list 的页面都将被缓存,因此我无法在页面本身中指定缓存的资源。
  • 没有办法告诉前一个页面“为另一个页面使用离线资源,但实际上并不缓存该页面上的 HTML”。您必须指定页面本身,这意味着将缓存 HTML。

我错了吗?似乎有一些棘手的(或不那么棘手的)方法可以解决这个问题。既然我已经输入了它,我想知道在应用缓存 list 的 NETWORK 部分中显式包含该页面是否可以解决问题。

最佳答案

我的回答是"is"。

我开发了一个网络应用程序,我在 list 中列出了所有必要的资源,并将 NETWORK 部分设置为 *

list 随后仅包含在主着陆页上。因此,在您第一次访问该站点时,所有资源都会被缓存起来,而且效果很好。

简而言之,

  • 您的一个页面必须包含 list ,因此将被缓存。

    也许您可以将 list 加载到 iframe 中而不缓存整个页面,这只是一个想法。

  • CACHE 部分列出要缓存的所有资源

  • NETWORK 部分设置为 *

关于html - 从 HTML5 离线应用程序缓存中省略当前页面,但使用缓存资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8320121/

相关文章:

html - 如何关闭 HTML5 离线缓存

android - 下载特定的 maptile 以缓存在 OSMDroid 中

css - div 内有图像的 div 不干扰文本?

html - 为什么这个简单的列表项负文本缩进在除 IE8 之外的所有浏览器中都有效?

php - Jquery CSS 淡入淡出和淡出不同的 css 文件

ios - Mapbox SDK离线 map 下载

javascript - net::ERR_FAILED 用于 manifest.cache 中的网络项

caching - HTML 5 缓存 list 本身被缓存

ipad - 适用于 android、iPhone、firefox、opera 但不适用于 iPad 的应用程序 list

html - css/html ul 表格行元素水平分布