1

在我的代码中,我在 UIWebview 中加载了一个 URL(一个 aspx 文件)。它加载并显示正常。

[webView loadRequest:requestObject];

我想检查 iPhone 上加载的 HTML 内容。当我使用以下代码在 UIWebview 中显示它时,UIWebview 显示格式被破坏,以自动换行格式显示行和表。

NSString *htmlContent = [[NSString alloc] initWithContentsOfURL:inputUrl encoding:NSUTF8StringEncoding  error:&error];

[webView loadHTMLString:htmlContent baseURL:nil];

当使用上面的 loadRequest 与 loadHTMLString 打开文件时,可能导致差异的原因是什么?

4

2 回答 2

1

对 loadHTMLString 的调用不知道使用哪个 URL 来解析 HTML 中包含的任何相对 URL。这应该在 baseURL 中传递。

于 2012-09-27T03:08:00.190 回答
0

这是任何可能感兴趣的人的代码:

    NSString* userAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3"; // user agent for iPhone browser
    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:inputUrl]; // ARC enabled
    [request setValue:userAgent forHTTPHeaderField:@"User-Agent"]; //setting user agent
    NSURLResponse* response = nil;
    NSError* error = nil;
    NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; // ARC enabled
    NSURL *base = [NSURL URLWithString:@"http://mainwebsitehere"];
    [webView loadHTMLString:str baseURL:base];
于 2012-09-27T19:54:38.960 回答