我有一個簡單的應用程序加載在UIWebView
iPhone優化的網站。是否可以緩存加載在iPhone UIWebView中的資源?
問題是,緩存似乎不工作:
[webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: url]
cachePolicy: NSURLRequestUseProtocolCachePolicy
timeoutInterval: 60.0]];
在這個偏遠的頁面(CSS,圖片,外部JavaScript文件)引用的任何東西永遠不會獲取緩存(請求從未發送IF-改進釋放由於頭或任何緩存控制的其他方式。)
這可能嗎?看起來有一個常規的Cocoa WebView有一個代理方法,可以調用每個資源請求和後期加載(-didFinishLoadingFromDataSource:
),您可以使用它來推出自己的緩存..但這在這裏似乎不適用。
我的整個頁面(頁面及其引用的資源)約爲89K壓縮..這是在一些景點緩慢通過3G,甚至超過EDGE更糟。傳入的請求至少表明它接受壓縮(accept-encoding=gzip, deflate
),所以這很好,我想。
我讀this yui study,這似乎表明,iPhone將緩存每個項目25K。引用超過25k未壓縮的唯一東西是jquery(打包但未壓縮 - 它是30k)。其他一切都應該可緩存。取回頁面中引用的任何內容的請求都不會在服務器端觸發304。
那衣的研究是從差不多一年前,而我只用移動Safari瀏覽器的猜測。
這是一個原生iPhone應用程序使用UIWebView
。
天才,雖然相當令人不安。 – 2010-02-11 15:18:29
做錯的最好方法。男人,我們在這裏尋找至少更方便的解決方案 – 2013-10-18 07:38:27
@ eagle.dan.1349爲什麼這是做錯的最好方法?在沒有「更方便的解決方案」的情況下,*是最方便的解決方案 – abbood 2013-11-13 14:43:18