一、UIWebView
1.JS調(diào)用原生方法
通過 shouldStartLoadWithRequest 代理方法進(jìn)行攔截指定字符串進(jìn)行交互
2.JS給原生傳值 原生給JS傳值
和Web端協(xié)商好,然后定義一個(gè)遵循JSExport的代理A却邓,再通過 JSContext 進(jìn)行
傳值操作<self.jsContext[@"WTK"] = self; 再實(shí)現(xiàn)A的代理方法<share:方法>
從JS拿值粱胜;再通過callWithArguments傳給JS值>
圖片.png
3.原生傳值給JS 也可以通過 stringByEvaluatingJavaScriptFromString 進(jìn)行傳值亡嫌;
圖片.png
二、WKWebView
1.添加 ScriptMessageHandler [configuration.userContentController
addScriptMessageHandler:self name:@"Location"];
2.在didReceiveScriptMessage代理方法中根據(jù)message.name去判斷攔截泵额,從而
達(dá)到 JS調(diào)用原生方法;message.body 則是JS 傳值給原生的途徑携添;
3.通過 evaluateJavaScript 方法 實(shí)現(xiàn)原生向 JS 傳值嫁盲;
圖片.png