1、github上下载该库,地址:https://github.com/marcuswestin/WebViewJavascriptBridge
2、项目中引入该库,步骤项目github有写。
3、简单配置:[WebViewJavascriptBridge enableLogging];
4、oc中初始化:
self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView];
5、如果js需要调用oc的方法,那么在oc中需要注册一个方法供js使用。
[self.bridge registerHandler:@"getHeleNum" handler:^(id data, WVJBResponseCallback responseCallback) {
NSDictionary *dic = @{@"heleNum":[LoginHuanxinId substringFromIndex:2]};
responseCallback([self dictionaryToJson:dic]);
}];
再在js中调用。
function drawDocument(arg) {
if (isAndroid) {
//...
arg["heleNum"] = getQueryString('heleNum');
var a = new $.followUp(arg);
}
if (isiOS) {
setupWebViewJavascriptBridge(function(bridge) {
bridge.callHandler("getFollowUp", function(data) {
//...
arg["heleNum"] = heleNum;
var a = new $.followUp(arg);
});
});
}
6、oc调用js的方法。首先在js中register一个方法。
bridge.registerHandler('testJavascriptHandler', function(data, responseCallback) {
log('ObjC called testJavascriptHandler with', data)
var responseData = { 'Javascript Says':'Right back atcha!' }
log('JS responding with', responseData)
responseCallback(responseData)
})
再oc中callhandler。
[_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
NSLog(@"testJavascriptHandler responded: %@", response);
}];