HarmonyOS 鸿蒙Next jsBridge 架构问题

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next jsBridge 架构问题

我们集成jsBridge时H5里面的注册和接收的方法是registerHandler和callHandler这两个方法,Android里面对应的也是有这两个方法。

现在文档(https://ohpm.openharmony.cn/#/cn/detail/@ncc%2Fjsbridge)给的H5用的是call和callAsync。我在华为用 register 注册和post跳用h5端的函数。h5里面还是原来的代码用的是 registerHandler和callHandler这两个函数,但是 register 接收不到回调消息。

请问h5那边也必须接入文档中给的库,使用call和callAsync这两个函数吗?

3 回复

1、jsBridge目前已经支持 https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-webview-0000001813416660#ZH-CN_TOPIC_0000001813416660__registerjavascriptproxy, ArkTS调用H5: 通过 runJavaScript接口(对应安卓evaluateJavaScript接口)调用 HTML中的代码,异步执行JS脚本 H5调用ArkTS: 通过 registerJavaScriptProxy接口(对应安卓addJavascriptInterface接口),将对象注册到HTML的window对象上

2、安卓、iOS上的HTML内容,移植到鸿蒙端,基本无需改动

直接用第三方库:OpenHarmony三方库中心仓 完美对接

关于HarmonyOS 鸿蒙Next的jsBridge架构问题,以下是专业解答:

HarmonyOS 鸿蒙Next的jsBridge是连接前端与原生能力的关键桥梁。它实现了前端与原生之间的双向通信,允许数据在两者间自由流动。这一机制主要通过WebView进程与原生ArkUI主进程之间的通信来实现。

在架构上,jsBridge采用分层设计,包括通信层、通道层和方法层。通信层负责数据的传递,但不解析数据的业务含义;通道层允许注册多种方法层通道,负责把方法层的API信息对象打包成通信层识别的信息数据;方法层则可以针对一类API格式封装成一种MethodChannel,便于API调用的信息封装和传递。

此外,jsBridge还提供了JavaScriptProxy代理机制,可以将原生对象注入到WebView中,并在Webview的window上生成对应代理对象,业务可以直接调用该代理对象的方法。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部