1,js调用oc
#import <JavaScriptCore/JavaScriptCore.h>
在webview的代理方法里JSContext *context =[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
// 打印异常
context.exceptionHandler =
^(JSContext *context, JSValue *exceptionValue)
{
context.exception = exceptionValue;
NSLog(@"%@", exceptionValue);
};
context[@"log"] =^(NSString * str){
//点击html代码中log方法名控件时执行的oc代码
}
2,oc调用js
JSContext *context =[ [JSContext alloc]init];
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"js"];
NSString *jsScript = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[context evaluateScript:jsScript];
//JS方法有返回参数就用JSValue
JSValue * result =[context[@"push"] callWithArguments:@[参数]] ;