鸿蒙OS嵌入H5的时候,关于和H5交互时候的桥接方式有几种方式?

我想问一下,鸿蒙OS嵌入H5的时候,关于和H5交互时候的桥接方式有几种方式?

本文参与了思否 HarmonyOS 技术问答马拉松,欢迎正在阅读的你也加入。
阅读 2.1k
2 个回答

1.事件监听与触发
原生侧:定义一组事件监听器,这些监听器可以监听来自H5页面的特定事件或URL Scheme。
H5侧:通过JavaScript调用特定的函数或URL来触发原生侧的事件监听器,从而执行原生应用中的操作。
2.全局对象注入
原生侧:在Webview中注入一个全局对象,该对象包含一系列方法,这些方法封装了原生应用的功能。
H5侧:通过访问这个全局对象的方法来实现与原生的交互,调用原生功能。
3.消息队列
原生侧:创建一个消息队列,用于接收和处理来自H5页面的消息。
H5侧:通过发送消息到消息队列来请求原生执行某些操作,原生侧按顺序处理这些任务。
4.Promise风格的API
原生侧:提供一组Promise风格的API,这些API允许H5页面以异步方式调用原生功能。
H5侧:使用Promise或async/await语法来调用这些API,并处理返回的结果。
5.Web组件
原生侧:定义一个Web组件,该组件封装了与H5交互的逻辑。
H5侧:在H5页面中使用这个Web组件,通过组件的属性和事件与原生进行交互。
6.自定义协议
原生侧:定义一个自定义协议,H5页面可以通过这个协议与原生进行通信。
H5侧:通过JavaScript调用URL或发送HTTP请求来触发这个自定义协议,从而执行原生应用中的操作。
7.使用javaScriptProxy属性
在ArkTS(ArkUI的TypeScript声明式开发范式)中,可以通过Web组件的javaScriptProxy属性将原生侧的桥接类实例注册到H5侧的window对象上。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题