Objective-c和javascript通訊

一、github上下載該庫,地址:https://github.com/marcuswestin/WebViewJavascriptBridgejavascript

二、項目中引入該庫,步驟項目github有寫。java

三、簡單配置:[WebViewJavascriptBridge enableLogging];git

四、oc中初始化:github

    self.bridge = [WebViewJavascriptBridge bridgeForWebView:self.webView];web

五、若是js須要調用oc的方法,那麼在oc中須要註冊一個方法供js使用。code

[self.bridge registerHandler:@"getHeleNum" handler:^(id data, WVJBResponseCallback responseCallback) {

        NSDictionary *dic = @{@"heleNum":[LoginHuanxinId substringFromIndex:2]};

        responseCallback([self dictionaryToJson:dic]);

    }];

再在js中調用。ip

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);

            });

        });

    }

六、oc調用js的方法。首先在js中register一個方法。get

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。string

[_bridge callHandler:@"testJavascriptHandler" data:data responseCallback:^(id response) {
        NSLog(@"testJavascriptHandler responded: %@", response);
 }];
相關文章
相關標籤/搜索