一、UIWebView
1.JS調用原生方法
通過 shouldStartLoadWithRequest 代理方法進行攔截指定字符串進行交互
2.JS給原生傳值 原生給JS傳值
和Web端協商好,然后定義一個遵循JSExport的代理A,再通過 JSContext 進行
傳值操作<self.jsContext[@"WTK"] = self; 再實現A的代理方法<share:方法>
從JS拿值;再通過callWithArguments傳給JS值>
圖片.png
3.原生傳值給JS 也可以通過 stringByEvaluatingJavaScriptFromString 進行傳值;
圖片.png
二、WKWebView
1.添加 ScriptMessageHandler [configuration.userContentController
addScriptMessageHandler:self name:@"Location"];
2.在didReceiveScriptMessage代理方法中根據message.name去判斷攔截,從而
達到 JS調用原生方法;message.body 則是JS 傳值給原生的途徑;
3.通過 evaluateJavaScript 方法 實現原生向 JS 傳值;
圖片.png