【发布时间】:2014-03-01 03:59:13
【问题描述】:
我目前正在尝试使用 NSURLSession 下载网页,以检索有关下载进度的状态更新。不幸的是,在下载网页后,当我去加载网页时,出现了视觉问题(缺少图像、缺少 javascript、缺少样式等),使网页看起来破碎且完整。直接加载到 webView 时,一切都正确加载。我想知道是否有办法(或我缺少的任何内容)下载网页的所有方面并加载它们,以便我可以加载整个网页并在页面加载时显示加载栏。
- (void)loadRequest:(NSURLRequest *)request
{
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
self.urlSession = [NSURLSession sessionWithConfiguration:sessionConfig delegate:self delegateQueue:[NSOperationQueue mainQueue]];
self.downloadTask = [self.urlSession downloadTaskWithRequest:request];
[self.downloadTask resume];
}
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)downloadURL
{
[_webView loadData:[NSData dataWithContentsOfURL:downloadURL] MIMEType:downloadTask.response.MIMEType textEncodingName:downloadTask.response.textEncodingName baseURL:nil];
}
【问题讨论】:
-
你没有阅读我的完整帖子。我在上面提到,我希望能够显示一个带有下载进度的加载栏。因此,为什么我使用这种方法。我需要知道如何使用这种方法检索所有额外的文件等。加载属性与 IMO 一样无用。它不提供下载状态,并通知您加载完成,即使 JavaScript 内容仍在加载。
标签: html objective-c uiwebview nsdata nsurlsession