2013-10-23 88 views
1

我一直在與我的網站爭取一個良好的一週,現在試圖讓該網站可以脫機訪問,並且我終於承認失敗。任何人都可以看到我做錯了什麼?或者給我一些關於我應該測試什麼的想法?HTML5網站不會緩存到iPad

我的index.html文件的開頭爲:

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

我在說同一個文件夾中的文件.htaccess.txt:在同一文件夾

AddType text/cache-manifest .manifest 

我cache.manifest文件說:

CACHE MANIFEST 

# version 0.4 
# If any of the files you list here isn't available, nothing gets cached. 
# The cache limit for Mobile Safari is 10 MB. Only 5MB for Chrome. 

CACHE: 
/assets/primary.css 
/assets/primary.js 
/assets/jquery-1.7.1.min 
/assets/content/home.html 
/assets/images/background_banner.jpg 
/assets/images/background_content.jpg 
/assets/images/background_content_home.jpg 
/assets/images/icon.png 
/assets/images/leaves_banner.png 
/assets/images/leaves_nav.png 
/assets/images/logo.png 
/assets/images/startup_landscape.jpg 
/assets/images/startup_portrait.jpg 

NETWORK: 
* 

我已經仔細檢查,我的緩存文件中的文件沒有輸入錯誤,文件大小我小於10 MB。緩存文件使用ANSI格式保存。

當我連接到互聯網時,該網站在我的iPad上正常加載。但是當我打開飛行模式時,我只是得到了橫向加載屏幕(在index.html文件中指出的startup_landscape.jpg文件)。

我試過將文件引用爲cache.appcache(儘管我不知道區別是什麼)。它似乎無法解決問題。

我被困在這裏。任何想法將不勝感激。

更新:10月25日

我試圖用一個HTML頁面,CSS文件和(空)創建一個簡單的網站.js文件。 index.html文件離線顯示,但.CSS未應用;所以我認爲緩存仍然無法正常工作。

我嘗試添加一個圖像到頁面,而不是緩存它。該網站仍然在離線模式下工作 - 它只是在圖像應該顯示的地方顯示一個空框。但如果我試圖將圖像名稱添加到緩存中,我甚至無法使index.html頁面以離線模式進入 - 我只是得到一個空白的白屏。

+0

您確定所有資產都在緩存中嗎? – SheetJS

+0

我拿出一些資產。我認爲它的工作方式是您可以在緩存中列出一些資產。我是否需要列出每個頁面上的所有內容? –

+0

鑑於你說其餘來自網絡,是的,你必須枚舉所有的靜態資產 – SheetJS

回答

1

嘗試將.htaccess.txt重命名爲.htaccess?

+0

我試圖做到這一點,但我得到一個錯誤,說我需要一個實際的文件名(因爲.htaccess然後成爲文件擴展名)。有沒有一些奇特的技術方法可以做到這一點,我不知道? –

+0

這是一個奇怪的錯誤,它可能與你的操作系統有關。你是從網絡服務器上工作嗎?它是一個Apache服務器? .htaccess特定於Apache,因此您可能需要諮詢您的服務器文檔。 – webinista

+0

我已經設法通過CPanel更新.htaccess文件;但該網站仍然無法離線工作。 –