【iOS和HTML 5交互】iOS中加載html5調用html方法和修改html5內容

   近期項目開發中用到了這方面的技術了,那咱們一塊兒來看看。
  • 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];
}

 

https://github.com/CoderJackyHuang/TextVeiw-Label-HTML-DEMO UITextView和UILabel如何加載HTML內容html

 

https://github.com/CoderJackyHuang/WebViewImgAutoFit WebView加載HTML中的圖片時,處理圖片超過屏幕的問題,讓圖片自適應屏幕html5

 

https://github.com/CoderJackyHuang/WebViewJavascriptBridgeDemogit

 

另外附贈一個連接,直接帶有效果圖的。
http://www.jianshu.com/p/8ee9e168d680
相關文章
相關標籤/搜索