HarmonyOS 鸿蒙Next jsBridge 架构问题
HarmonyOS 鸿蒙Next jsBridge 架构问题
现在文档(https://ohpm.openharmony.cn/#/cn/detail/@ncc%2Fjsbridge)给的H5用的是call和callAsync。我在华为用 register 注册和post跳用h5端的函数。h5里面还是原来的代码用的是 registerHandler和callHandler这两个函数,但是 register 接收不到回调消息。
请问h5那边也必须接入文档中给的库,使用call和callAsync这两个函数吗?
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。