【问题标题】:Loading NSData into a UIWebView将 NSData 加载到 UIWebView
【发布时间】:2012-03-17 13:27:05
【问题描述】:

在我的网络浏览器中,我正在尝试使用从NSURLConnection 获得的NSData 加载UIWebView。当我尝试将其加载到UIWebView,而不是站点时,它会显示 HTML 纯文本。

这是我的代码:

viewDidLoad:

NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.msn.com"]];
[NSURLConnection connectionWithRequest: request delegate:self];

后面的代码:

 -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
  {
     webdata = [NSMutableData dataWithData: data];
  }

 -(void)connectionDidFinishLoading:(NSURLConnection *)connection
  {
    [webview loadData:webdata MIMEType: @"text/html" textEncodingName: @"UTF-8" baseURL:nil];
  }

【问题讨论】:

标签: iphone html ios uiwebview nsurlconnection


【解决方案1】:

您没有附加您收到的数据。使用这段代码

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    if (webdata == nil) {
        webdata = [[NSMutableData alloc] init];
    }
    [webdata appendData:data];
}

此方法可能会被调用一次或多次,具体取决于您的数据长度。因此,不要将新数据分配给您的 ivar,而是将您的数据附加到它,以便您获得完整的响应,而不是收到的最后一个数据包。
----------------------------------------------- -------------------------------------------------- ------------------------------------------------
已更新
或者像这样使用。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
        webdata = [[NSMutableData alloc] init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [webdata appendData:data];
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
    [mWebView loadData:webdata MIMEType: @"text/html" textEncodingName: @"UTF-8" baseURL:nil];
}

【讨论】:

  • 上述方法效果很好,谢谢。只有一件事:当我使用此方法而不是使用 UIWebview loadRequest:NSURLRequest 时,它正在加载网站的桌面版本。有没有什么简单的方法可以默认加载移动版网站? (我是这种东西的新手)
  • 我也是 :D .. 把这个作为一个新问题。到那时我会找到答案..并在这里发布你的新问题的链接,这样如果答案来了,我也会告诉我该怎么做
  • 也在寻找如何加载移动版,并使用自定义加载器来加载UIWebView内部的点击链接
  • loadData 对我不起作用。我只是得到一个空白页。我检查并看到 HTML 代码确实在我的数据中。
  • 谢谢,这拯救了我的一天!但是,baseURL:nil 不好:stackoverflow.com/q/32763248/1289683
猜你喜欢
  • 2014-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-25
  • 1970-01-01
  • 2012-03-28
  • 1970-01-01
相关资源
最近更新 更多