使用UIWebViewDelegate中的方法在oc中修改h5页面,- (void)webViewDidFinishLoad:(UIWebView *)webView;这个方法有个显而易见的缺陷,必须要等HTML页面完全加载完成以后才会进行交互。
首先在iOS代码中,修改HTML页面。
可以从网络上先获取一个HTML页面,建议用谷歌浏览器,右击审查元素就可以看到HTML的代码了。
第一步仍然是先写一个webView,并且加载这个页面
UIWebView *wbView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
wbView.delegate = self;
NSURL *url = [NSURL URLWithString:@"http://www.zhaizhanggui.com.cn/index.html"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[wbView loadRequest:request];
[self.view addSubview:wbView];
在代理方法里,对HTML页面进行修改,这里需要用到js
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *title = @"var h1 = document.getElementsByTagName('h1')[0];"
"h1.innerHTML = 'hello js';";
[webView stringByEvaluatingJavaScriptFromString:title];
}
修改效果图。