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) { }) })

  • 相关阅读:
    T-sql 中 truncate 、delete与drop操作数据库的区别
    poj -3070 Fibonacci (矩阵快速幂)
    给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等。
    最长的循环节
    大组合数取模
    n个点中求任意两点组成斜率的最大值
    csu
    csu
    poj
    hdu
  • 原文地址:https://www.cnblogs.com/dontes/p/9713558.html
Copyright © 2011-2022 走看看