WebViewJavaScriptBridge源码解析(一)
来源:互联网 发布:java接口开发demo下载 编辑:程序博客网 时间:2024/05/18 14:42
js调用native的原理
- js中通过bridgehandler{name,data,func()}传入Native中对应的注册名,需要传给Native的数据,和供Native返回数据时候调用的函数指针。
- 然后把
[_bridge registerHandler:@"testObjcCallback" handler:^(id data, WVJBResponseCallback responseCallback) { NSLog(@"testObjcCallback called: %@", data); responseCallback(@"Response from testObjcCallback"); }];
然后执行handler,js发过来的数据就可以让我们在native使用。方法中的block就会被执行,然后调用responseCallback(),我们之前注册的responseCallback(id data)就会被执行,然后responseCallback()中带的data就会发送到js的方法中。在js的方法中会执行responseCallback()方法,然后文章开头那个func()就会被调用,得到native返回的数据。
总结
说白了就是js传数据和函数指针(类比block)到native,native获取数据,并执行这个函数指针,就能在接收到数据后,再把一些数据传给js。
js和native分别维护着自己的很多消息数组,回调数组,操作数组…很多。
native通过执行js代码来获取消息数组里面这些数据和指针,获取后把数据中的操作名称拿出来看自己的这边维护的操作数组里面有没有注册这个操作,有就执行操作(handler)。
至于回调,那就是纯正的一个native操作(handler)中执行作为它参数带过来的一个带参数的block,这个block通过native调用js代码,来把数据传到js。
0 0
- WebViewJavaScriptBridge源码解析(一)
- WebViewJavaScriptBridge源码解析
- WebViewJavascriptBridge源码解析 -1
- iOS源码解析—WebViewJavascriptBridge
- WebViewJavascriptBridge工程结构和源码解析
- WebViewJavascriptBridge 源码
- WebViewJavascriptBridge 解析
- WebViewJavascriptBridge解析
- WebViewJavascriptBridge解析
- WebViewJavascriptBridge源码解读
- WebViewJavascriptBridge源码分析
- WebViewJavascriptBridge源码解读
- Irrlicht源码解析(一)
- tomcat源码解析(一)
- HDFS源码解析(一)
- OKHttp源码解析(一)
- OKHttp源码解析(一)
- SDWebImage源码解析(一)
- 在Struts2 中 ValueStack 的实现(一)
- php基础知识笔记
- 一致性哈希算法(consistent hashing) .
- android ViewFlipper 详细用法,附源代码+图片资源
- Android中横竖屏切换时Activity的生命周期变化
- WebViewJavaScriptBridge源码解析(一)
- Java多线程基础-2-简单继承Thread,实现Runnable例子
- L2-003. 月饼
- 对stdin,stdout 和STDOUT_FILENO,STDIN_FILENO的学习
- AT&T 指令简记
- JQuery技巧|教你如何更快的赋值取值
- Arrays.asList方法的漏洞
- 最新最经典的黑客入门教程(必备技能)
- php中的基类,派生类