2012-06-22 69 views
2

我是HTML 5應用程序存儲的新手。我正在嘗試一個樣本來測試離線存儲。我有幾個問題。請幫忙。HTML5中的應用程序緩存不工作:

文件使用:

的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類型必須設置爲文本/緩存清單,這必須在* .htaccess文件中完成。我在Windows環境中使用apache tomcat 6.0服務器。我無法在服務器中找到此文件。因此,我在我的項目的根目錄下創建了一個(test.htaccess)(在eclipse helios上開發),即在d:/ eclipse-workspace/ProjectName /中,我的文件如下所示:

test.htaccess

AddType text/cache-manifest .manifest 

但是,當我停止服務器,並試圖如下訪問應用程序緩存不工作:

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

請讓我知道我做了什麼錯。 ..還有,有沒有調試的方法應用程序緩存

回答

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中的值相同。

+0

嗨..感謝您的提問。我已經這樣做了,但仍然在Google Chrome錯誤日誌中發現了下面的錯誤(通過ctrl + shift + J打開瀏覽器日誌)「Application Cache Error event:Invalid manifest MIME type()」 – CARTIC

+0

@ user1475068首先檢查Chrome開發人員工具 - 網絡標籤究竟傳輸了什麼內容(尤其是MIME類型的課程)。同時檢查http://stackoverflow.com/questions/7375514/chrome-reporting-html5-cache-manifest-mime-type-in​​correctly,因爲我認爲這是一個相關的問題。也許一個愚蠢的問題,是否在將MIME類型添加到其中央web.xml後重新啓動Tomcat? – fvu

+0

嗨...我檢查了網絡標籤,我可以看到.css,.html和.js文件,但不是我的.manifest文件。在測試之前,我也重新啓動了服務器。另外,在你說過的帖子中,錯誤信息在括號內顯示「text/plain」,但在我的空間裏卻是空的。什麼是Windows中.htaccess文件的正確位置。我是否必須在其他地方引用此文件?請幫助.... – CARTIC

0

我有同樣的問題。一切看起來都正確:路徑是正確的,清單在我的項目中,我可以手動瀏覽到它,MIME類型已設置。它根本不是試圖從我的HTML獲取這個文件。問題是我沒有在清單開始處包括必需的行:

CACHE MANIFEST 

沒有這樣做導致瀏覽器只是默默地忽略清單標記。

相關問題