淺談oc與js交互(二 UIWebView中 oc調(diào)用js)

上篇文章講過,oc和js交互,oc調(diào)用js關(guān)鍵的方法是
- (nullable NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
當(dāng)我們執(zhí)行stringByEvaluatingJavaScriptFromString這個方法的時候,系統(tǒng)會識別js,幫我們運行js代碼。上代碼:
//創(chuàng)建webView

  UIWebView *webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 400)];
  webView.delegate = self;
  webView.scrollView.delegate = self;
  [self.view addSubview:webView];
  self.webView = webView;

 //html
 NSString *htmlStr = @"<body style=\"border: 2px solid\"><br><p style=\"border: 2px solid mediumaquamarine\">這是第一段文字</p><p style=\"border:5px solid lightpink\">這是第二段文字</p><p style=\"border:8px solid lime\">這是第三段文字</p></body>";

//加載HTML
 [webView loadHTMLString:htmlStr baseURL:nil];

按鈕的點擊事件

1)oc調(diào)用js 改變p標(biāo)簽的背景顏色

- (IBAction)clickFirst:(id)sender{
    [self.webView stringByEvaluatingJavaScriptFromString:@"var p = document.getElementsByTagName('p'); p[0].style.backgroundColor='red';"];
}

2)oc調(diào)用js 文本居中顯示

- (IBAction)clickSecond:(id)sender{
    [self.webView stringByEvaluatingJavaScriptFromString:@"var p = document.getElementsByTagName('p'); p[1].style.textAlign='center';p[1].style.color='red'"];
}

3)oc調(diào)用js 改變文本內(nèi)容
- (IBAction)clickThird:(id)sender{
[self.webView stringByEvaluatingJavaScriptFromString:@"var p = document.getElementsByTagName('p'); p[2].innerText='你沒與如期而來,這就是離別的意義';"];
}

4)還原

- (IBAction)clickfourth:(id)sender{
    [self.webView stringByEvaluatingJavaScriptFromString:@"var p = document.getElementsByTagName('p');p[2].innerText='這是第三段文字'; for (var   i=0;i<p.length;i++){p[i].style.textAlign='';p[i].style.backgroundColor='';p[i].style.color='black';};"];
}

示例gif

OcCallJs.gif

github demo地址:https://github.com/shimminZ/oc-called-js
歡迎star 謝謝哇~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容