Objective-c和javascript通信
2016-08-16 00:00
381 查看
摘要: 很多情况需要oc内部加载h5网页,并且2者需要进行通信,原生虽然提供stringByEvaluatingJavaScriptFromString方法进行使用,但是不是很方法,项目中用到了一个WebViewJavascriptBridge的框架,很方便现在介绍一下。[self.bridge registerHandler:@"getHeleNum" handler:^(id data, WVJBResponseCallback responseCallback) {
NSDictionary *dic = @{@"heleNum":[LoginHuanxinId substri
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使用。
再在js中调用。
6、oc调用js的方法。首先在js中register一个方法。
再oc中callhandler。
NSDictionary *dic = @{@"heleNum":[LoginHuanxinId substri
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); }];
相关文章推荐
- UIWebView中Objective-C和JavaScript通信
- 4.KVO,KVO,通知之objective-c
- 编写高质量的Objective-C代码
- 【IOS 开发学习总结-OC-7.11-★】 objective-c——指针数组和指向指针的指针
- Objective-c ARC
- 每周一荐:Objective-C的开源开发环境GNUstep
- 在C和Objective-C中绑定JavaScript--------------------------cocos2d-x 3.0正式版本(7.15)
- Objective-C对象和Core Foundation 对象
- Nullability and Objective-C
- (转) Objective-C 日记② 关于self用法
- Objective-C研究之Object对象学习
- 在Win7 x64中使用GNUstep和MinGW编写Objective-C的代码
- Objective-C 2.0 基础要点归纳
- Ubuntu/Kubuntu Objective-C 开发环境搭建 (续)
- Swift、Objective-C、Cocoa混合编程设置指南
- Objective-C中的屏幕截图
- iOS --- 总结Objective-C中经常使用的宏定义(持续更新中)
- 在 Objective-C 中解析 html 的代码
- iOS开发系列—Objective-C之基础概览
- Objective-C数组详解