HTML5中的应用程序缓存不起作用:

时间:2012-06-22 14:59:14

标签: html5

我是HTML 5应用程序存储的新手。我正在尝试一个示例来测试离线存储。我几乎没有问题。请帮忙。

使用的文件:

的index.html

<html manifest="demo.manifest"> 
<head> 
<link rel="stylesheet" href="style.css" type="text/css" /> 
<script type="text/javascript" src="script.js" ></script>
</head> 
<body> 
<h1>some text</h1> 
<p>Some text.</p> 
</body> 
</html>

的style.css

body{background-color: #333;}
h1{color: #c94054;}
p{color: #fff;}

demo.manifest

CACHE MANIFEST

CACHE:
style.css
index.html

我知道demo.manifest MIME类型必须设置为text / cache-manifest,这必须在* .htaccess文件中完成。我在Windows环境中使用apache tomcat 6.0服务器。我无法在服务器中找到此文件。所以,我在我的项目的根目录(在eclipse helios上开发)中创建了一个(test.htaccess),在d:/ eclipse-workspace / ProjectName /中,我的文件如下所示:

test.htaccess

AddType text/cache-manifest .manifest

但是,当我停止服务器并尝试访问它时,应用程序缓存不起作用,如下所示:

http://localhost:8081/ProjectName/index.html

请让我知道我做错了什么...另外,有没有办法调试应用程序缓存

2 个答案:

答案 0 :(得分:6)

在Tomcat服务器上,MIME类型通过默认的web.xml文件conf/web.xml

进行配置

在该文件的末尾,您将找到一堆已定义的MIME类型。你必须添加

<mime-mapping>
    <extension>manifest</extension>
    <mime-type>text/cache-manifest</mime-type>
</mime-mapping>

与Apache和其他服务器使用的.htaccess相同。

答案 1 :(得分:0)

我遇到了同样的问题。一切看起来都正确:路径正确,清单在我的项目中,我可以手动浏览到它,MIME类型已设置。它根本就没有尝试从我的HTML中获取此文件。问题是我没有在清单开头包含所需的行:

CACHE MANIFEST

没有这导致浏览器只是默默地忽略清单标记。