WebView中,双向交互可以使用JSBridge技术也可以使用端口通信技术,这两者有什么区别
1.通过WebMessagePort可以进行消息的发送以及接收。
2.通过runJavaScript、registerJavaScriptProxy的JSBridge技术也能实现消息的收发
这两者有什么区别,数据量的传递上有什么规格,在什么场景下选择什么方案呢?
HarmonyOS
赞
收藏 0
回答 1
待解决
JSBridge是一种JavaScript与Web客户端之间的通信机制。通过JSBridge,可以在WebView中通过JavaScript代码调用客户端提供的功能,也可以从客户端中调用JavaScript函数。JSBridge可能无法满足复杂的通信需求,这时可以使用端口通信技术来实现更灵活的跨平台通信。
l 使用runJavaScript与registerJavaScriptProxy的JSBridge技术:
− 特点:调用函数,不需要一直保持通道。
− 使用场景:对于函数调用的场景,可以选择runJavaScript或者registerJavaScriptProxy实现。
l 使用WebMessagePort建立端口通信:
− 特点:建立通道,实时监听,持续消耗资源。
− 使用场景:对于有双向通信需求的场景,对于数据实时更新,聊天应用,大文件如图片等场景建议选择端口通信技术,更加稳定。
参考链接
应用侧调用前端页面函数
前端页面调用应用侧函数
建立应用侧与前端页面数据通道