获取 html 代码并编辑然后加载到 web 视图
Posted
技术标签:
【中文标题】获取 html 代码并编辑然后加载到 web 视图【英文标题】:Get html code and edit then load on to web view 【发布时间】:2014-04-28 05:40:46 【问题描述】:我想在不受我控制的 UIWebView 上加载一个网站,并向其中编辑/添加某些 UI 更改(一些文本、图像等)。我可以在我的 ios 源代码中执行此操作吗?我无法更改托管的 html 内容,因为它们不受我的控制。 如果这在 iOS 源代码中无法实现,请告诉我实现此目的的正确方法。
【问题讨论】:
【参考方案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];
【讨论】:
这种方法的问题是网站加载不正确,图片没有出现,链接失效等等...我尝试使用这种方法是因为我想添加' padding'(内容插入)到我的 WKWebView 的顶部,但它并没有真正按预期工作。【参考方案2】:我会用 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];
【讨论】:
以上是关于获取 html 代码并编辑然后加载到 web 视图的主要内容,如果未能解决你的问题,请参考以下文章