在我的代码中,我在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,会导致差异的原因是什么?
答案 0 :(得分:1)
对loadHTMLString的调用不知道用什么URL来解析HTML中包含的任何相对URL。这应该在baseURL中传递。
答案 1 :(得分: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];