我要做的是获取网页的某些部分/部分并在我的UIWebView中显示。
我试图展示的部分有一些输入字段和一个提交按钮。当我使用UIWebview显示提取的部分时。我失去了所有的格式。空间等细节丢失了。
我将该html页面下载到我的电脑并手动修改(删除了不必要的部分),它在计算机上运行正常。
这是我的示例代码。看其他相关问题无济于事。
-(IBAction)showContactPage {
NSString *urlContents = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"wwww.example.com/contact.html"] encoding:NSASCIIStringEncoding error:nil];
[myWebView loadHTMLString:urlContents baseURL:[NSURL URLWithString:@"http://www.example.com/"]];
}
//WebView Delegate method
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSString *urlContents = [myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('column')[0].innerHTML"];
NSString *headContents = [myWebView stringByEvaluatingJavaScriptFromString:@"document.head.innerHTML"];
urlContents = [NSString stringWithFormat:@"<html><head>%@</head><body>%@</body></html>",headContents,urlContents];
[myWebView loadHTMLString:urlContents baseURL:[NSURL URLWithString:@"http://www.example.com/"]];
[self.view addSubview:myWebView];
}
如果我在UIwebview上遗漏了某些内容,请告诉我。
答案 0 :(得分:0)
找出它出错的地方。 stringByEvaluatingJavaScriptFromString方法返回我们里面的内容而不是它的属性,因此我们正在丢失格式 即在我的情况下,下面的代码片段没有返回带有'column'作为类名
的标签的属性urlContents = [myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('column')[0].innerHTML"];
这不会返回<div id="left" class="column">
,因此我正在丢失格式/样式