使用UIWebViewDelegate中的方法在oc中修改h5頁(yè)面抹竹,- (void)webViewDidFinishLoad:(UIWebView *)webView美侦;這個(gè)方法有個(gè)顯而易見(jiàn)的缺陷抡砂,必須要等HTML頁(yè)面完全加載完成以后才會(huì)進(jìn)行交互檀蹋。
首先在iOS代碼中这弧,修改HTML頁(yè)面欠肾。
可以從網(wǎng)絡(luò)上先獲取一個(gè)HTML頁(yè)面垄懂,建議用谷歌瀏覽器骑晶,右擊審查元素就可以看到HTML的代碼了。
第一步仍然是先寫(xiě)一個(gè)webView草慧,并且加載這個(gè)頁(yè)面
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];
在代理方法里桶蛔,對(duì)HTML頁(yè)面進(jìn)行修改,這里需要用到j(luò)s
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *title = @"var h1 = document.getElementsByTagName('h1')[0];"
"h1.innerHTML = 'hello js';";
[webView stringByEvaluatingJavaScriptFromString:title];
}
修改效果圖漫谷。