1 添加代理,注册方法名
[_webView.configuration.userContentController addScriptMessageHandler:self
name:@"这是约定好的回调方法名"];
2 遵循协议
@interface TXWebKitJavascriptBridge () <WKScriptMessageHandler>
3 实现协议方法
- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message
{
if ([message.name isEqualToString:@"约定好的方法名"]) {
///js 传来的参数
NSDictionary *body = message.body;
。。。
}
}
4 js 调用的方法,(这个是h5端处理的,我们需要知道)
window.webkit.messageHandlers.约定好的方法名.postMessage(message)
注意,这四个地方出现的‘约定好的方法名’ 是一致的哦,需要我们和h5端约定好