-1

我想使用 HTLM5 开发一个移动应用程序,我是新手。

在我的项目中,我将解析一些 xml 文件并将它们的数据加载到其相关页面中。一些 xml 页面包含图像(url),所以我需要显示它们。

问题是当应用程序进入离线模式时,它应该显示所有这些图像,因此需要存储它们。

我应该怎么做?会有很多图像,所以我认为本地存储不适合使用。

4

1 回答 1

1

添加manifest="cache.appcache"您的<html>标签以启用缓存清单

<!DOCTYPE HTML>
<html manifest="cache.appcache">
  <body>

  </body>
</html>

HTML5 引入了应用程序缓存,这意味着 Web 应用程序被缓存,并且无需 Internet 连接即可访问。

应用程序缓存为应用程序提供了三个优势:

  1. 离线浏览- 用户可以在离线时使用该应用程序
  2. 速度- 缓存资源加载速度更快
  3. 减少服务器负载- 浏览器只会从服务器下载更新/更改的资源

当用户访问它时,每个具有指定清单属性的页面都将被缓存。如果没有指定manifest属性,则不会缓存页面(除非直接在manifest文件中指定了页面)。

清单文件的推荐文件扩展名是:".appcache"

清单文件需要提供正确MIME-type"text/cache-manifest". 必须在 Web 服务器上进行配置。

例如,要mime-type在 Apache 中提供此服务,请将此行添加到您的配置文件中:

AddType text/cache-manifest .appcache

清单文件的结构

他的清单是一个单独的文件,您可以通过 html 元素上的清单属性链接到该文件。一个简单的清单看起来像这样:

CACHE MANIFEST
index.html
style.css
img/logo.png
scripts/main.js
http://myapp.com/scripts/main.js

此示例将在指定此清单文件的页面上缓存四个文件。

从上面的例子中需要注意的事情:

-CACHE MANIFEST字符串是第一行并且是必需的。

- 文件可以来自另一个域

- 某些浏览器会限制您的应用程序可用的存储配额量。例如,在 Chrome 中,AppCache 使用其他离线 API 可以共享的临时存储共享池。如果您正在为 Chrome 网上应用店编写应用程序,则使用 unlimitedStorage 可以消除该限制。

- 如果清单本身返回 404 或 410,则缓存被删除。

- 如果清单或其中指定的资源下载失败,则整个缓存更新过程失败。如果发生故障,浏览器将继续使用旧的应用程序缓存。

于 2013-10-29T16:53:47.420 回答