zoukankan      html  css  js  c++  java
  • H5+原生webview实现APP的JavascriptBridge的使用

    function setupWebViewJavascriptBridge(callback) {
          try {
            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)
          } catch (e) {
            alert(e)
          }
        }
    
    
    
    IOS:
    function iosMethod(method, params) {
        setupWebViewJavascriptBridge(function (bridge) {
          try {
            if (params) {
              bridge.callHandler(method, params)
            } else {
              bridge.callHandler(method)
            }
          } catch (e) {
            alert(e)
          }
        })
    }
    
    例如:
    和ios约定的回调方法名  挂载在window
    window.scanResult = function(){}
    iosMethod('scan')
    Android:
    和Android约定的回调方法名  挂载在window
    window.scanResult = function(){}
    window.android.scan()
  • 相关阅读:
    网络编程IO模型
    网络编程四层模型
    签到赛--我打的
    签到赛--ipip
    初见RCE(远程命令/代码执行漏洞)
    [ACTF2020 新生赛]Include
    文件上传+[SUCTF 2019]CheckIn
    古典密码,背包密码,RSA
    第八章小结
    第七章小结
  • 原文地址:https://www.cnblogs.com/BlueCc/p/14411095.html
Copyright © 2011-2022 走看看