我有一个简单的应用程序加载在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