2011-09-26 61 views
2

我正在做一個網站,用戶可以說他想緩存哪些項目。基於此,生成清單文件。通過這樣做,用戶可以在他離線時瀏覽網站。這一切都在谷歌瀏覽器正常工作。但在iPad上它不能正常工作。 有時候有時候事情會被緩存,有時甚至沒有我訪問過的頁面。應用程序緩存:在iPad上奇怪的行爲

我們一直在測試2臺iPad,但我們在兩臺iPad上都沒有得到相同的結果。即使我們完全一樣,我們有時會得到不同的結果。

所以我們要做的:

  • 打開WiFi
  • 瀏覽該網站
  • 進行一些設置,使一些網頁/圖片/ ...添加到清單文件
  • 轉WiFi關閉
  • 回到Safari瀏覽器刷新/瀏覽到應該被緩存的頁面。

有時在一臺iPad上(這是一臺iPad 1),它的工作原理與它應該完全相同,但有時它根本不起作用。 在另一臺iPad上(這是一款iPad 2),它絕不會像它應該的那樣完全工作。只是一些隨機結果。

它也像的結果是不同的,當我們完全關閉Safari瀏覽器,然後清除緩存,然後做下載和緩存的東西的全過程......

有人可以幫我解決這個問題?這是一個在目前的屁股真正的痛苦... :(

+0

這個問題也可能是一些利益:http://stackoverflow.com/questions/5655304/html5-localstorage-not-persistent-on斷電之後 – Paul

+0

這很有趣,但並沒有真正與這個問題有關。 – Lowie

回答

0

我遇到了一些問題,以及與iPad緩存。

  1. MIME類型的清單文件中不正確的設置因windows的主機,windows服務器上的標準MIME類型是「application/x-ms-manifest」,這是在ClickOnce應用程序誕生時創建的,需要在safari上工作的MIME類型是:「text/cache-清單」

  2. 緩存大小是在iPad太小(你應該得到一個警告放大)

  3. Ipad需要時間!我注意到,當您看到所有資產或網站被「加載」時,緩存沒有填充。在將網站放置到主屏幕之前,請給它加載正常時間的兩倍。

  4. 緩存的緩存:)當服務器上的修改日期發生變化時,iPad只會重新加載文件。因此,當您真的想測試時,請清除iPad上的所有緩存,移除主屏幕上的鏈接並重新上傳所有文件。

結論:耗時!

提示:打開桌面或iPad上safari中的調試控制檯。如果你在iPad上做了錯誤或者是緩存問題,它會給出一個公平的想法。

0

看起來問題與應用程序緩存沒有任何關係。這在某種程度上是Cookie的問題/我動態構建清單文件的方式。

2
  1. 開放的Web服務器(IIS)
  2. 選擇網站
  3. 打開MIME類型
  4. 添加或編輯以text/cache-manifest
  5. 重置IIS在命令提示符下iisreset

這對我的作品。

+0

這是我遇到的問題,您的修復工作第一次 – WraithNath

0

我想稍微迴應一下Pieter-Paulus Vertongen,我對Windows託管有類似的經驗。

根據Safari中的調試控制檯,清單文件的MIME類型被誤讀,因此沒有下載任何結果。

我將我的所有文件(包括.htaccess文件)都複製到Linux服務器上,而不更改文件內的任何內容......然後緩存工作得非常好。

所以,可能這可能是文件託管位置的問題。使用調試控制檯和喬納森·斯塔克的代碼來了解一下:

http://jonathanstark.com/blog/debugging-html-5-offline-application-cache?filename=2009/09/27/debugging-html-5-offline-application-cache/

相關問題