我想使用 HTLM5 开发一个移动应用程序,我是新手。
在我的项目中,我将解析一些 xml 文件并将它们的数据加载到其相关页面中。一些 xml 页面包含图像(url),所以我需要显示它们。
问题是当应用程序进入离线模式时,它应该显示所有这些图像,因此需要存储它们。
我应该怎么做?会有很多图像,所以我认为本地存储不适合使用。
我想使用 HTLM5 开发一个移动应用程序,我是新手。
在我的项目中,我将解析一些 xml 文件并将它们的数据加载到其相关页面中。一些 xml 页面包含图像(url),所以我需要显示它们。
问题是当应用程序进入离线模式时,它应该显示所有这些图像,因此需要存储它们。
我应该怎么做?会有很多图像,所以我认为本地存储不适合使用。
添加manifest="cache.appcache"
您的<html>
标签以启用缓存清单
<!DOCTYPE HTML>
<html manifest="cache.appcache">
<body>
</body>
</html>
HTML5 引入了应用程序缓存,这意味着 Web 应用程序被缓存,并且无需 Internet 连接即可访问。
应用程序缓存为应用程序提供了三个优势:
当用户访问它时,每个具有指定清单属性的页面都将被缓存。如果没有指定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,则缓存被删除。
- 如果清单或其中指定的资源下载失败,则整个缓存更新过程失败。如果发生故障,浏览器将继续使用旧的应用程序缓存。