Install with npm:
npm install --save-dev jsbridge
Install with yarn:
yarn add jsbridge --dev
/** * js: * this.$jsBridge.photo(['colin', 'neil'], function (data) { alert('js-bridge:' + JSON.stringify(data)) }) * * ios: * 在iOS中通过`WKWebView`的`WKScriptMessageHandler` 或`UIWebView`的`JSContext`绑定反调, * 有两种方式绑定,二选一即可: * 1.单一绑定法,配置如下 * var native = { ios: 'ios', android: 'android' } var methods = [{js: "photo", native: "getPhoto"},{js: "openWX", native: "getOpenWX"}] * JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; * context[@"photo"] = ^(NSString *class) { [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"getPhoto('%@')", class]]; }; context[@"ios"] = ^(NSDictionary *dict) { [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"getPhoto(%@)", [YEAFNRequestManager dictionaryToJson:dict[@"parameter"]]]]; }; 2.多方法,配置如下 var native = { ios: '', android: 'android' } var methods = [{js: "photo", native: "getPhoto"},{js: "openWX", native: "getOpenWX"}] * * android: * 在Android中通过`webView.addJavascriptInterface(obj,'android')` 绑定反调; * 注意:为了安全考虑,`android` 可以替换成自己设置的方法名 * */