iOS

爷,独闯天下 提交于 2020-12-01 02:50:23

一、前言

  这个星期面临一个网页的需求,需要用到这方面的知识,很久没看过这方面的代码了,记录下吧。

  wkwebview的创建和使用就不再提及了,直接看与JS之间的交互吧。

二、内容

  1、JS调用OC

window.webkit.messageHandlers.<#对象名#>.postMessage(<#参数#>)

  

//进行配置控制器
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
//实例化对象
configuration.userContentController = [WKUserContentController new];
//调用JS方法
[configuration.userContentController addScriptMessageHandler:self name:@"actionEnd"];

 

#pragma mark - WKScriptMessageHandler

- (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {
    if ([message.name isEqualToString:@"actionEnd"]) {
        NSDictionary *jsData = message.body;
        NSLog(@"%@", message.name, jsData);
    }
}

  注:对象名要和前端沟通好。前端JS能回传的类型只能是 NSNumber, NSString, NSDate, NSArray, NSDictionary, NSNull。

  2、OC调用JS

// 调用API方法
[self.weexWebView evaluateJavaScript:@“JS” completionHandler:^(id object, NSError * _Nullable error) {
    NSLog(@"obj:%@---error:%@", object, error);
}];

 

  目前需要用到的东西就这么多了,等到具体的JS代码给到的时候再去调试吧。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!