js-native 通信的 6 种方式

端能力是 App 开发中非常重要的基础技术,在 js-native 这种框架研发过程中要保证多端统一,也就是说在 H5 页面中当调用一个端能力的时候,需要提供统一的调用 API,如下:

// bad
function getSystemInfo() {
    if (isIos) {
        // send msg to iOS
    }
    else if (isAndroid) {
        // send msg to android
    }
}
// good
function getSystemInfo() {
    // send msg to all platform
}

要想保证 API 的一致性,必须对 JS 与 Native 通信的方式有一个彻底的了解。我主要了解到以下几种通信方式:

postMessage(iOS WKWebview)

这种方式是在 iOS 中处理消息非常方便,但是在 Android 中并不支持。

- (void)userContentController:(WKUserContentController *)uc
didReceiveScriptMessage:(WKScriptMessage *)message
{
    // 接收到消息,并处理
}
// 消息发送
window.webkit.messageHandlers.SYJSBridge.postMessage(msg);

promp

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值