zoukankan      html  css  js  c++  java
  • js交互app

                function initJsBridge(readyCallback) {
                     var u = navigator.userAgent;
                     var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
                     var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
                     // 注册jsbridge
                     function connectWebViewJavascriptBridge(callback) {
                         if (isAndroid) {
                             if (window.WebViewJavascriptBridge) {
                                 callback(WebViewJavascriptBridge)
                             } else {
                                 document.addEventListener(
                                     'WebViewJavascriptBridgeReady'
                                     , function () {
                                         callback(WebViewJavascriptBridge)
                                     },
                                     false
                                 );
                             }
                             return;
                         }
                         if (isiOS) {
                             if (window.WebViewJavascriptBridge) {
                                 return callback(WebViewJavascriptBridge);
                             }
                             if (window.WVJBCallbacks) {
                                 return window.WVJBCallbacks.push(callback);
                             }
                             window.WVJBCallbacks = [callback];
                             var WVJBIframe = document.createElement('iframe');
                             WVJBIframe.style.display = 'none';
                             WVJBIframe.src = 'https://__bridge_loaded__';
                             document.documentElement.appendChild(WVJBIframe);
                             setTimeout(function () {
                                 document.documentElement.removeChild(WVJBIframe)
                             }, 0)
                         }
                     }
    
                     // 调用注册方法
                     connectWebViewJavascriptBridge(function (bridge) {
                        if (isAndroid) {
                             bridge.init(function (message, responseCallback) {
                                 console.log('JS got a message', message);
                                 responseCallback(data);
                             });
                        }
                          
                         // 只有在这里注册过的方法,在原声代码里才能用callHandler的方式调用
                         bridge.registerHandler('contectLists', function (data, responseCallback) {
                             showResponse(data);
                             alert("data___"+data)
                         });
                          readyCallback();
                      });
                }
    
                // 首先调用JSBridge初始化代码,完成后再设置其他
                initJsBridge(function () {
                    // 通过JsBridge调用原生方法,写法固定,第一个参数时方法名,第二个参数时传入参数,第三个参数时响应回调
                    window.WebViewJavascriptBridge.callHandler('getContects', null, function (response) {
                        // showResponse(response);
                    });
                });
    

      

    function connectWebViewJavascriptBridge (callback) { if (window.WebViewJavascriptBridge) { callback(WebViewJavascriptBridge) } else { document.addEventListener( 'WebViewJavascriptBridgeReady' , function() { callback(WebViewJavascriptBridge) }, false ); } }
    connectWebViewJavascriptBridge (function(bridge) {
    // bridge.registerHandler('JS Echo', function(data, responseCallback) { console.log("JS Echo called with:", data) responseCallback(data) })
    bridge.callHandler('oliveness', {}, function responseCallback(responseData) { }) })

  • 相关阅读:
    在TreeView控件节点中显示图片
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1146 Topological Order (25 分)
    PAT 甲级 1145 Hashing
    PAT 甲级 1145 Hashing
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1144 The Missing Number (20 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1151 LCA in a Binary Tree (30 分)
    PAT 甲级 1149 Dangerous Goods Packaging
  • 原文地址:https://www.cnblogs.com/dontes/p/9713558.html
Copyright © 2011-2022 走看看