2010-08-13 80 views
2

我一直在寫HTML5中的一個簡單的文本編輯器,它應該可以脫機工作。但是,我不能讓脫機應用程序緩存正常工作,但我無法弄清楚爲什麼不能。HTML5應用程序緩存不能正常工作

我的清單文件是這樣的:

CACHE MANIFEST 
application.html 
options.html 
... 

而且它如下被調用:

<!DOCTYPE html> 
<html manifest="cache.manifest"> 
<head> 
... 

我使用谷歌應用程序引擎來承載Web應用程序。

我已經通過W3C的HTML驗證器(http://validator.w3.org/check?uri=https%3A%2F%2Fwrite-space.appspot.com%2F)的網頁,它出來罰款。

我已經在Chrome和Firefox中測試過它。在Chrome中,沒有任何內容添加到緩存存儲中(並且window.applicationCache.status返回0)。在Firefox中,不會顯示要求緩存文件的通知欄。基本上,這些文件沒有被緩存。

我已經看過各種演示緩存離線查看,並不能解決爲什麼我的代碼不起作用。

任何人都可以幫忙嗎?

回答

6

您必須添加一個MIME類型.manifest的:使用

text/cache-manifest

在.htaccess:

AddType text/cache-manifest .manifest

+0

谷歌應用程序引擎不會這樣做嗎? – Hans 2010-08-13 12:41:25

+0

不知道......也許不是;)但這是這些情況中最常見的錯誤,因此,大多數情況下這是有效的;) – dododedodonl 2010-08-14 10:48:39

9

要添加MIME類型text/cache-manifest在.manifest文件GAE在你的app.yaml中使用它:

- url: /static/(.*)\.manifest 
    static_files: static/\1.manifest 
    upload: static/(.*)\.manifest 
    mime_type: text/cache-manifest 

這將爲文件夾static中的所有文件提供正確的MIME類型。