这些天研究了一些oc与js交互的问题,纯属个人理解
oc与js交互是跨平台iOS与javaScript的通信。公司为了开发节约成本,本来安卓,与iOS两个版本的app开发,利用js通过webView的加载只需要做一些交互工作就使得javaScript书写的页面可以同时在安卓与iOS上使用可谓一举两得。
WKWebView里边的方法
1.OC中调用js方法(我认为是oc向js中传值)
使用的是
<span style="background-color: rgb(255, 255, 255);">- (void)evaluateJavaScript:(NSString *)javaScriptString completionHandler:(void (^)(id, NSError *))completionHandler;这个方法</span>
参数1:@param 是调用的js方法,并传值
参数2:如果
JavaScript
代码出错, 可以在
completionHandler
进行处理.
2.js向oc中传值使用的时WKWebView注册WKScriptMessageHandler代理
- (
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message;<span style="color:#ffffff;">
</span>
参数2:js向oc传递的信息