1.利用webView控件加載本地html5或者網絡上html5
2.設置控制器為webView的代理,遵守協議
3.實現代理方法webViewDidFinishLoad:
4.在代理方法中進行操作HTML5中的標簽(CRUD→增刪改查)
1.用類選擇器或者id選擇器或者標簽選擇器等選擇要進行操作的標簽
2.把選擇好的標簽轉換成字符串
3.webView調用stringByEvaluatingJavaScriptFromString
方法
應用場景:比如加載了網絡上的百度鏈接,但是不想要它某個鏈接標簽,利用這個代理方法,獲取這個標簽,然後刪除它,或者更改他標簽的顯示文字等內容
1.加載本地HTML5
NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:request];
2.加載網絡上網頁HTML5
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [self.webView loadRequest:request];
3.在oc中刪除HTML5中的某個標簽,比如按鈕
// 網頁視圖加載完畢會調用代理的這個方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *str = @"document.getElementsByClassName('detail_btns2')[0].remove();";
[webView stringByEvaluatingJavaScriptFromString:str];
}
4.在oc中更改HTML5內容
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *headerStr = @"document.getElementsByTagName('h1')[0].innerText = '測試文字';";
[webView stringByEvaluatingJavaScriptFromString:headerStr];
NSString *downLoadStr = @"document.getElementById('xiazaiapp').getElementsByTagName('a')[0].innerText = '下個雞蛋';";
[webView stringByEvaluatingJavaScriptFromString:downLoadStr];
}