H5运用bridge与Android ios交互

Android比较简单:

H5调用Android:

bridge.doClipOnlineProject(id, holderId); // doClipOnlineProject是Android定义好的方法

Android调用H5:

 let keyboardUpEvents = () => {
     alert('keyboardUpEvents');
     console.log('keyboardUpEvents');
  }; // 直接定义函数 Android可以直接调用

ios:

H5调用ios:

 function setupWebViewJavascriptBridge(callback) {
    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)
  }
  setupWebViewJavascriptBridge(function(bridge){
    bridge.callHandler('getToken', {'code':'0'}, function(response) {
      Bridge.token = response.user_token || GetRequest().user_token;
      console.log(response);
      Bridge = { // 注册到Bridge 上可以绑定到window
          createVC(url){ // 新开webview
          bridge.callHandler('createVC', {'url':url});
        },
        webClip(id,holderId){
          bridge.callHandler('webClip', {'id':id, 'holderId':holderId})
        },
        localClip(){
          bridge.callHandler('localClip')
        }
      }
    });
  })

ios调用H5:

bridge.registerHandler('Refresh', function(data, responseCallback) { // 运用registerHandler注册事件
       console.log("Refresh");
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值