我是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
请让我知道我做错了什么...另外,有没有办法调试应用程序缓存
答案 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
没有这导致浏览器只是默默地忽略清单标记。