好比说,前端那边给我们定义了一个方法是window.AndroidWebView.getToken()想获取我们客户端的token。
在加载有webView的VC的.h文件中
#import <JavaScriptCore/JavaScriptCore.h>
@protocol JSObjectDelegate <JSExport>
- (NSString *)getToken;
@end
在VC的.m文件中,加上代理JSObjectDelegate
#pragma mark - <UIWebViewDelegate>
- (void)webViewDidStartLoad:(UIWebView *)webView {
_jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
_jsContext[@"AndroidWebView"] = self;
_jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
context.exception = exceptionValue;
NSLog(@"异常信息:%@", exceptionValue);
};
}
#pragma mark - <JSObjectDelegate>
- (NSString *)getToken {
return [UserDefaultHelper getToken];
}