我正在使用以下方法在UIWebView中加载网页
[NSURLConnection sendAsynchronousRequest:request
queue:loadingQueue
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *error) {
if(!error) {
[_webView loadData: data
MIMEType: [response MIMEType]
textEncodingName: [response textEncodingName]
baseURL:nil];
}
}];
首先,对于几页,根本不加载图像。其次,当我稍后通过
刷新页面时 [_webView reload];
网页视图变为空白。
有谁知道这里发生了什么?
TIA, NIKHIL
答案 0 :(得分:1)
我使用以下方法
在UIWebView中加载网页[NSURLConnection sendAsynchronousRequest
好吧,不要。 UIWebView已经知道如何从Internet获取数据,并异步加载其请求。因此,只需通过调用loadRequest:
来处理UIWebView请求即可。现在请坐下来等待委托消息到达。如果出现问题,委托消息将告诉您。
答案 1 :(得分:1)
经过几次迭代和网络搜索后,我才明白这个问题主要发生(如果不是)因为网站有相对路径。
期望至少第一个问题将得到解决,我修改了
[_webView loadData: data
MIMEType: [response MIMEType]
textEncodingName: [response textEncodingName]
baseURL: nil];
将baseURL包含为
baseURL: [request URL]];
令人惊讶的是,两个问题都得到了解决。我可以理解为什么它有助于解决“图像不下载”部分,但我无法猜出为什么已经(成功)加载的页面变为空白的原因,如果baseURL不存在。
任何人都可以对此有所了解吗?
谢谢, NIKHIL
答案 2 :(得分:0)
对我来说,loadData的第一次调用运行良好,但接下来调用加载空白页。
我尝试了以下解决方法,它可以运行:
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
[webView loadData:data MIMEType:mimeType textEncodingName:@"UTF-8" baseURL:[NSURL new]];
因此,loadRequest的调用修复了webView的状态。