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

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

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

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

HarmonyOS
2024-03-17 17:25:57
浏览
已于2024-3-17 17:26:45修改
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
济南二狗子

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

使用runJavaScript与registerJavaScriptProxy的JSBridge技术:

− 特点:调用函数,不需要一直保持通道。

− 使用场景:对于函数调用的场景,可以选择runJavaScript或者registerJavaScriptProxy实现。

使用WebMessagePort建立端口通信:

− 特点:建立通道,实时监听,持续消耗资源。

− 使用场景:对于有双向通信需求的场景,对于数据实时更新,聊天应用,大文件如图片等场景建议选择端口通信技术,更加稳定。

参考链接

应用侧调用前端页面函数

前端页面调用应用侧函数

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

分享
微博
QQ
微信
回复
2024-03-18 21:05:32
相关问题
ArkTS可以使用Toast吗?
3767浏览 • 1回复 待解决
ArkTS 可以使用 console 打印日志吗?
3025浏览 • 1回复 待解决
鸿蒙很好的画图功能可以使用
2371浏览 • 1回复 已解决
ArkTS内可以使用for循环吗
6614浏览 • 1回复 已解决
TaskPool里面是否可以使用EventHub
1696浏览 • 1回复 待解决
ArkTS上可以使用DataAbility功能吗
1809浏览 • 1回复 待解决
appsettings.json里可以使用变量吗?
2112浏览 • 1回复 待解决
HarmonyOS 共享包里面可以使用worker吗
397浏览 • 1回复 待解决
Push是否可以使用自己的运维平台?
1646浏览 • 1回复 待解决
鸿蒙OS应用不上架可以使用吗?
642浏览 • 1回复 待解决
HarmonyOS 数据库表名里可以使用-吗
359浏览 • 1回复 待解决