2012-06-24 88 views
1

我有一個應該是創造一個offline APP that works on mobile devices的一個例子的演示應用程序。我創建了一個manifest file,並使用正確的MIME類型提供它,但應用程序中的主圖像總是在線獲取,如果我轉到飛行模式,儘管處於緩存中,圖像仍不會加載。離線緩存清單被忽略在iPhone

爲什麼圖像不在脫機緩存中?

更新

我現在有一個有效的應用程序緩存清單,但在iPhone上我隨機沒有得到主圖像還是 - 在網上也是如此。我有一個手動刷新按鈕,通常會在第二次或第三次嘗試中獲取圖像,但是當我從主屏幕打開應用程序時,它會顯示'?'而不是佔位符。

更新

我簡單的例子很多,結合大量的建議,但仍然有問題。以下是我迄今嘗試的步驟。

  1. 刪除了JavaScript的全部 - 頁只顯示靜態圖像

  2. 與文件小於25KB

  3. 增加了NETWORK: *到清單

  4. 感動NETWORK: *全部換成圖片要高於CACHE:標題。

  5. 試圖重命名「manifest.appcache」到「cache.manifest」

它工作在Firefox在離線模式下與磁盤緩存爲空(即確保它只能使用脫機緩存),但是仍然顯示IOS上可怕的藍色問號(在iPhone 4上測試)。

回答

1

試錯大量後,我可以證實,我已經解決了這個問題。

答案很奇怪,但我有雙重檢查,以確保使單是這種變化會導致出現/消失的問題。

下列元標記通常建議,如果您的應用程序將被添加到iOS主屏幕:

<meta name="apple-mobile-web-app-capable" content="yes"> 

但實際上,不加這個。從我的演示應用程序中刪除此標記可以立即解決IOS 5.1.1上的問題 - 因此您需要確定您是否必須具有脫機緩存,或者您是否必須擁有全屏風格,而不是在Safari中運行。

+0

做了什麼事情發生,這不再起作用?因爲沒有連接到網絡時出現錯誤消息,說明「由於未連接到Internet而無法打開拼圖」。 (這裏是一張圖片)http://i.stack.imgur.com/iyhci.png – SnowboardBruin

2

看起來你的緩存文件由於缺少文件而無效。嘗試讓你的路徑相對Puzzle/page.png

運行validator給出了以下錯誤:

Line 3: Resource not found 

http://www.stevefenton.co.uk/Puzzle/CACHE 

Line 4: Resource not found 

http://www.stevefenton.co.uk/index.html 

Line 5: Resource not found 

http://www.stevefenton.co.uk/apple-touch-icon.png 

Line 6: Resource not found 

http://www.stevefenton.co.uk/page.png 

Line 7: Resource not found 

http://www.stevefenton.co.uk/knight.png 

Line 10: Resource not found 

http://www.stevefenton.co.uk/style.css 
+0

+1立即爲驗證器鏈接!當我加載窗體主屏幕時,仍然出現奇怪的丟失圖像佔位符。 – Fenton

+0

我有一些類似的問題,但我不記得它是否適用於Android或iOS。對我來說有效的是增加一個'CACHE:',然後一個'NETWORK:'部分。在'CACHE'下面:'把所有文件放到緩存中,然後放在'NETWORK:'放''''下的換行符上。 – row1

+0

可以在線工作,解決了一半的問題,但是當沒有連接時,圖像就會丟失。 – Fenton