簡體   English   中英

iPhone和HTML5緩存清單

[英]iPhone and HTML5 Cache Manifest

我正在嘗試使用ASP.NET構建一個iPhone Web應用程序。 該頁面為每個訪問者動態呈現一次。 此時,該頁面可以被加入書簽,並且該訪問者將永遠不會再次更改該頁面。 出於這個原因,它應該從那一點開始本地緩存,因此即使沒有可用的網絡連接,如果從書簽引用,應用程序也會運行。 無論我嘗試什么,手機都會繼續請求來自服務器的頁面強制重新渲染,如果手機處於脫機狀態則會失敗。

Louis Gerbarg這篇文章中建議我使用HTML5 Cache Manifest來實現這一點,但是在w3.org文檔之后似乎並不適用於iPhone。 有沒有人有一個應用程序緩存工作的好例子?

緩存清單文件必須與'text / cache-manifest'mime-type一起提供。 這絕對是至關重要的,沒有它就行不通。 如果您導航到清單文件的URL,它應該觸發下載...

此外,我發現將標記中的清單位置作為絕對位置,以及清單文件中的所有條目更有效。

我回答了您之前提出的與此相關的問題,但是從那個問題來看,您試圖緩存動態內容並不清楚。 緩存清單用於獲取您希望離線Web應用程序運行的靜態內容。

我不確定你能做你想做的事。 您是否希望該應用程序能夠脫機運行,或者您只是想在緩存中查找某些東西,因為它下載速度很慢? 除非您實際構建一個離線Web應用程序(用戶將添加為Spring Board中的書簽或應用程序),否則您的頁面可以(並且必須)在瀏覽器自行決定的情況下從本地存儲中逐出,無論多么寬松您在頁面上設置的緩存策略。

您應該使用適用於iPhone和Safari 3.1的Safari Javascript數據庫API。 它適用於本地緩存和數據存儲:

http://developer.apple.com/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/

它可能與輸出的大小有關。

我無法談論任何專門為iphone調整內容的嚴肅經驗,但是有一個來自YUI團隊的有趣讀物:http: //yuiblog.com/blog/2008/02/06/iphone-cacheability/ ,這表明可以在iphone中保存的最大解壓縮緩存文件是25k,並且為了獲得最佳緩存,盡可能多的組件應該<25k。

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

如果有興趣的話,這里是我為構思概念而構建的app緩存的簡單演示。 您需要檢查瀏覽器支持的內容,但這適用於IP 3.5中的FF 3.5和Safari http://demos.hahana.co.uk/app-cache-demo.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM