html - 如何在 HTML5 应用程序缓存中缓存多个包含页面特定图像和共享资源的 HTML 页面?

标签 html browser-cache cache-manifest

在我的 HTML5 应用程序中,我有几个代表书籍的 HTML 文件。每本“书”都包含特定于该书的图像。每个书籍文件还包含对所有书籍共享的 CSS 和 JavaScript 文件的引用。

我想将书籍缓存在 HTML5 应用程序缓存中,这样就可以在没有互联网连接的情况下查看它们。我想我必须为每个 HTML 书籍文件创建一个 list 文件,其中包含对共享资源和书中图像的引用。 HTML 文件中的标签将如下所示:

<html manifest="Book1.appcache">

或:

<html manifest="Book2.appcache">

和 Book1.appcache 类似:

CACHE MANIFEST
Js/Book.js # Shared
Css/Book.css # Shared
Images/Book1-cover.png # Book-specific

和 Book2.appcache 类似:

CACHE MANIFEST
Js/Book.js # Shared
Css/Book.css # Shared
Images/Book2-cover.png # Book-specific 

我不确定这种设计,这样看起来每本书都是它自己的“应用程序”,但事实并非如此。另外,共享的 CSS 和 JS 文件不是多次缓存,每本书一次吗?谁能推荐一个好的解决方案?

最佳答案

您的问题不是 100% 清楚,但我是这样解释的。 您可以为每本书存储 2 个单独的文件,但这样存储会导致您在缓存中两次写入 book.js 和 book.css,因此您需要做的是:

Book1.html:

<html manifest="Book.appcache">
<img src="book1-cover.png">

Book2.html:

<html manifest="Book.appcache">
<img src="book2-cover.png">

Book.appcache:

CACHE MANIFEST
Js/Book.js
Css/Book.css
Book1.html
Book2.html
Images/Book1-cover.png
Images/Book2-cover.png

所以你只需制作 2 个单独的 html 文件并缓存它们。

关于html - 如何在 HTML5 应用程序缓存中缓存多个包含页面特定图像和共享资源的 HTML 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196172/

相关文章:

javascript - 如何使用 JQuery 编辑和更新动态表中的值?

angularjs - angularjs 中是否默认启用缓存?

apache - 为浏览器缓存启用 mod_expires

javascript - 如何防止缓存导致的Javascript代码多次运行

android - Webview中如何加载缓存页面

javascript - 缓存 list 缓存所有文件

php - 我怎样才能得到 table 外的图像?

javascript - Chardin.js 绝对定位 z-index 问题

HTML5 html5shiv 和 IE7

javascript - Chrome离线版不会使用cache.manifest