我想在不受我控制的UIWebView上加载网站,并编辑/添加某些UI更改(某些文本,图像等)。我可以在iOS源代码中执行此操作吗?我无法更改托管的html内容,因为它们不受我的控制。 如果在iOS源代码中无法做到这一点,请告诉我实现此目的的正确方法。
答案 0 :(得分:1)
将网页加载到NSString
,进行任何修改,然后将html放入UIWebView
。
NSURL *url = [NSURL URLWithString:@"http://example.com/"];
NSString *page = [NSString stringWithContentsOfURL:url usedEncoding:nil error:nil];
/* Make changes to page here */
[self.webView loadHTMLString:page baseURL:nil];
答案 1 :(得分:1)
我使用JavaScript获取dom,操作,然后使用JavaScript注入。
请参阅stringByEvaluatingJavaScriptFromString:
。
您可以编写自己的全功能缩小JavaScript,然后使用此方法。
// Change body color of any HTML content inside a UIWebView.
NSString *javaScript = @"document.getElementByTagName('body').backgroundColor = '#888';";
[webView stringByEvaluatingJavaScriptFromString:javaScript];