2013-10-29 26 views
-1

我想开发一个使用HTLM5的移动应用程序,我是新手。如何使用HTML5保存多个本地图像?

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

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

我该怎么做?这将是许多图像,所以我认为本地存储将不适合使用。

+2

看到这个:http://en.wikipedia.org/wiki/Cache_manifest_in_HTML5 – karaxuna

回答

1

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

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

    </body> 
</html> 

HTML5引入了应用程序缓存,这意味着Web应用程序缓存,并没有连接到互联网访问。

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

  1. 离线浏览 - 用户可以使用时,他们离线
  2. 速度应用 - 缓存资源加载速度
  3. 减少服务器加载 - 浏览器将只从服务器下载更新/更改的资源

指定了清单属性的每个页面都将在用户访问时缓存。如果未指定清单属性,则不会缓存该页面(除非该页面是直接在清单文件中指定的)。

建议的文件扩展的清单文件是:".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 -The串是第一行和是必需的。

-files可以从另一个域上提供给您的应用程序的存储配额量

- 某些浏览器地点的限制。例如,在Chrome中,AppCache使用其他离线API可共享的TEMPORARY存储共享池。如果您正在为Chrome网上应用店编写应用程序,则使用unlimitedStorage将删除该限制。

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

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

+0

首先,非常感谢您的回答!^_ ^。 OK!图像列表将是动态的,所以可以用缓存文件填充动态列表,该列表将使用js从加载的xml文件填充页面内部? 其次,我想在将它们存储(下载)之后加载图像,所以我认为** cach文件**解决方案没有任何帮助。 –