写在前面
本文将介绍如何使用WKWebView进行JS与OC、OC与JS间的传值和方法调用。
前置条件
1、导入WebKit.framework
2、声明WKWebView
JS调用OC原生方法
1、前端在js文件中实现
这里要注意messageHandlers后面跟着的deviceInfo要与原生的定义的一致。
2、iOS 实现WKScriptMessageHandler协议
3、iOS 初始化WKWebView
这里注意[userController addScriptMessageHandler:self name:@"deviceInfo"];
这个方法里的deviceInfo要与前端定义的一致。
4、iOS 实现WKScriptMessageHandler协议方法
message.body就是前端传来的参数
OC调用JS方法
1、实现WKNavigationDelegate协议
2、实现WKNavigationDelegate协议的- webView: didFinishNavigation:方法
3、OC调用JS方法
其中deviceInfo('8.3')为前端给出的JS方法名8.3是需要传给前端的参数
4、注意事项
以下错误的解决方法
一定要在网页加载完成后调用,否则报错
JS方法一定要放在最外层
图片出处不详,请作者看到与我联系,侵删