UIwebview丢失css3 / html格式

时间:2012-10-15 06:39:02

标签: iphone html ios uiwebview formatting

我要做的是获取网页的某些部分/部分并在我的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上遗漏了某些内容,请告诉我。

1 个答案:

答案 0 :(得分:0)

找出它出错的地方。 stringByEvaluatingJavaScriptFromString方法返回我们里面的内容而不是它的属性,因此我们正在丢失格式 即在我的情况下,下面的代码片段没有返回带有'column'作为类名

的标签的属性
urlContents = [myWebView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('column')[0].innerHTML"]; 

这不会返回<div id="left" class="column">,因此我正在丢失格式/样式