WebViewJavascriptBridge的暂时理解

  直接从项目里复制了一份关于WebViewJavascriptBridge使用的代码,注释部分是自己暂时的理解。孟哥说,callHandler类似于jq里的trigger,

registerHandler类似于jq的bind。暂时先这样理解,应该找本移动Web的书看看了。

function showMonthPicker(date) {
    var data = {
        timestamp: +date
    };
    window.connectWebViewJavascriptBridge && connectWebViewJavascriptBridge(function(bridge) {
        bridge.callHandler('showMonthPicker', data, function() { });
        // callHandler函数有三个参数,第一个参数是一个函数名,此函数名可看成APP内置的,
        // 通过callHandler可以让APP执行showMonthPicker函数,并对showMonthPicker函数传入后面两个参数(data与fun)
    });
}

function setMonthPicker(timestamp) {
    vm.$set('selectedDate', timestamp);
}

window.connectWebViewJavascriptBridge && connectWebViewJavascriptBridge(function(bridge) {
    bridge.registerHandler("setMonthPicker", function(data, responseCallback) {
        // registerHandler函数有2个参数,第一个参数是一个函数名,此函数名是JS在APP上注册的,第二个参数是注册的函数名的函数体
        // APP执行setMonthPicker时,是让JS执行了函数体里的内容,函数体的参数是通过APP执行setMonthPicker(data,responseCallback)时传给JS的。
        var json = JSON.parse(data);
        setMonthPicker(json.timestamp);
    });
});

 

posted @ 2016-09-25 20:41  姜瑞涛  阅读(251)  评论(0编辑  收藏  举报