相关疑难解决方法(0)

从UIWebView读取HTML内容

是否可以读取已加载到的网页的原始HTML内容UIWebView

如果没有,是否有另一种方法从iPhone SDK中的网页(例如.NET的等价物WebClient::openRead)中提取原始HTML内容?

html iphone uiwebview

131
推荐指数
5
解决办法
15万
查看次数

是否可以缓存iPhone UIWebView中加载的资源?

我有一个简单的应用程序加载一个针对iPhone优化的网站UIWebView.

问题是,缓存似乎不起作用:

[webView loadRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: url]
                                       cachePolicy: NSURLRequestUseProtocolCachePolicy
                                   timeoutInterval: 60.0]];
Run Code Online (Sandbox Code Playgroud)

此远程页面中引用的任何内容(css,图像,外部javascript文件)都不会被缓存(请求永远不会以缓存控制的方式发送If-Modified-Since标头或其他任何内容.)

可能吗?在普通的Cocoa WebView中,似乎有一个委托方法可以调用每个资源请求并发布load(-didFinishLoadingFromDataSource:),您可以使用它来滚动自己的缓存..但这似乎不适用于此.

我的整个页面(页面及其参考资源)压缩了大约89K ..这在一些地方比3G慢,甚至比EDGE更糟糕.传入请求至少表明它接受compression(accept-encoding=gzip, deflate),所以我认为这很好.

我读了这个yui研究,这似乎表明iPhone每个项目将缓存25k.引用的唯一超过25k未压缩的是jquery(打包但未压缩 - 它是30k).其他一切都应该是可缓存的.在获取的页面中引用任何内容的请求都不会在服务器端触发304.

那个yui研究来自差不多一年前,我猜测只有移动野生动物园.

这是UIWebView在本机iPhone应用程序中使用.

iphone cocoa-touch caching uiwebview ios

11
推荐指数
3
解决办法
3万
查看次数

使用 NSURLRequest 和 NSURLConnection 进行磁盘缓存是否真的适用于 iPhone?

我有一个 UITableView,其单元格包含从 Internet 异步加载图像的自定义 ImageView。要加载这些图像,我使用 NSURLRequest 和 NSURLConnection 工作正常。唯一的问题是图像没有缓存,因此每次使用时都会下载。我试图将 NSURLRequest 的 cachePolicy 设置为“NSURLRequestReturnCacheDataElseLoad”,但没有任何效果。

链接上的最后一个答案看来,iPhone 上的 NSURLRequest 不支持磁盘缓存。这样对吗?

如果它真的有效,我很想知道在我的情况下它不起作用的原因是什么。

这是代码:

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://myurl"] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];


connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

iphone caching disk nsurlconnection nsurlrequest

5
推荐指数
1
解决办法
2553
查看次数