Cordova桥接模式
所谓的桥接模式指的是native和js的通信方法,这些方法起着连接native到js的或者js到native的作用,类似桥梁一样做为数据通行的道路故称桥接。所以桥接分为两种:1. js -> native; 2.native -> js,在cordova/exec模块中可以找到如下代码定义了两种方向各自的桥接方法:
jsToNativeModes = {
PROMPT: 0,
JS_OBJECT: 1
},
nativeToJsModes = {
POLLING: 0,
LOAD_URL: 1,
ONLINE_EVENT: 2,
EVAL_BRIDGE: 3
},
1.JS -> NATIVE的桥接方式说明
jsToNativeModes = {
PROMPT: 0,//使用弹出框prompt的方式来向native发送数据
JS_OBJECT: 1 //使用原生暴露API的方式让js访问原生数据
},
PROMPT方式的实现:
JS_OBJECT方式的实现:
2. NATIVE -> JS的桥接方式说明
nativeToJsModes = {
POLLING: 0,//轮寻的方式,前端定时器不间断的调用原生暴露API的方式来让js访问原生数据
LOAD_URL: 1, //native使用webview.loadUrl("javascript:code")方式来执行前端脚本达到通信目的
ONLINE_EVENT: 2,//native使用webview.setNetworkAvailable(true/false)方法,触发document online/offline 事件,再由前端主动访问原生变量来达到通信目的
EVAL_BRIDGE: 3 //native使用webview.loadUrl方式来执行前端脚本达到通信目的
},