文档管理中心
您当前浏览的HarmonyOS 5.0.0(API 12)文档归档不再维护,推荐您使用最新版本。详细请参考文档维护策略变更
FAQ应用框架开发Web框架Web开发(ArkWeb)WebView中,双向交互可以使用JSBridge技术也可以使用端口通信技术,这两者有什么区别

WebView中,双向交互可以使用JSBridge技术也可以使用端口通信技术,这两者有什么区别

问题现象

1、通过WebMessagePort可以进行消息的发送以及接收。

2、通过runJavaScript、registerJavaScriptProxy的JSBridge技术也能实现消息的收发

这两者有什么区别,数据量的传递上有什么规格,在什么场景下选择什么方案呢?

解决措施

JSBridge是一种JavaScript与Web客户端之间的通信机制。通过JSBridge,可以在WebView中通过JavaScript代码调用客户端提供的功能,也可以从客户端中调用JavaScript函数。JSBridge可能无法满足复杂的通信需求,这时可以使用端口通信技术来实现更灵活的跨平台通信。

  • 使用runJavaScript与registerJavaScriptProxy的JSBridge技术:
    • 特点:调用函数,不需要一直保持通道。
    • 使用场景:对于函数调用的场景,可以选择runJavaScript或者registerJavaScriptProxy实现。
  • 使用WebMessagePort建立端口通信:
    • 特点:建立通道,实时监听,持续消耗资源。
    • 使用场景:对于有双向通信需求的场景,对于数据实时更新,聊天应用,大文件如图片等场景建议选择端口通信技术,更加稳定。

参考链接

应用侧调用前端页面函数

前端页面调用应用侧函数

建立应用侧与前端页面数据通道

在 FAQ 中进行搜索
请输入您想要搜索的关键词