2008-11-07 89 views
2

我想構建一個使用ASP.NET的iPhone Web應用程序。該頁面爲每個訪問者動態呈現一次。在這一點上,該頁面可以被添加書籤,並且該訪問者不會再改變該頁面。因爲這個原因,它應該從這個位置本地緩存,所以即使沒有網絡連接可用,如果從書籤引用應用程序,它也會運行。無論我嘗試什麼,手機都會繼續從服務器請求重新呈現頁面,或者如果手機處於脫機狀態,則會失敗。iPhone和HTML5緩存清單

Louis Gerbarg建議在this後我使用HTML5緩存清單來得到這個工作,但在w3.org docs似乎無法爲iPhone工作。有沒有人有一個應用程序緩存工作的好例子?

回答

5

我回答了與此相關的上一個問題,但從這個問題中不清楚您是否嘗試緩存動態內容。緩存清單用於獲取離線網絡應用程序需要的靜態內容。

我不確定你可以做你想做的。你是否希望應用程序能夠脫機工作,或者你只是試圖在緩存中固定某些東西,因爲它的下載速度很慢?除非您實際構建脫機Web應用程序(用戶將在Spring Board中添加爲書籤或應用程序),那麼無論您的頁面有多鬆散,您的頁面都可以(並且必須)從瀏覽器的本地存儲中逐出,您在頁面上設置的緩存策略。

+0

謝謝!我加了一些澄清後 – 2008-11-08 05:54:02

1

它可能與輸出的大小有關。我不能從任何專門針對iphone調整事情的嚴肅經驗談話,但是YUI團隊在這裏有一個間隙讀取:http://yuiblog.com/blog/2008/02/06/iphone-cacheability/,這表示可以保存在iPhone中的最大的解壓縮緩存文件是25k,而爲了優化緩存,儘可能多的組件應該是< 25k。

這可能是你的問題的原因,但這只是一個猜測。

7

緩存清單文件必須用「文本/緩存清單」的MIME類型提供。這絕對是關鍵,沒有它就無法工作。如果你導航到你的清單文件的URL,它應該會觸發一個下載...

此外,我發現把標籤中的清單位置作爲絕對位置,以及所有的條目清單文件更加有效。

0

如果任何人有興趣在這裏是一個簡單的應用程序緩存演示,我爲概念證明而構建。 你需要檢查你的瀏覽器支持什麼,但這部作品在FF 3.5和Safari IPhone上 http://demos.hahana.co.uk/app-cache-demo.html

+0

鏈接不工作24/11/2011 – 2011-11-24 10:40:04