【关键字】
WebView / JSBridge / 注入 / 通信 / H5 / HTML / javaScriptProxy
【问题描述】
WebView是否支持JSBridge注入和通信?
【解决方案】
JSBridge是一种JavaScript与Web客户端之间的通信机制。通过JSBridge,可以在WebView中通过JavaScript代码调用客户端提供的功能,也可以从客户端中调用JavaScript函数。
目前,HarmonyOS支持WebView的JSBridge注入和通信,详细信息请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-webview-0000001821001193#ZH-CN_TOPIC_0000001821001193__registerjavascriptproxy
通信方式有以下三种。
- ArkTS调用H5:通过runJavaScript接口(对应Android的evaluateJavaScript接口)调用HTML中的代码,异步执行JS脚本。
- H5调用ArkTS:通过javaScriptProxy接口(对应Android的addJavascriptInterface接口),将对象注册到HTML的window对象上。
- ArkTS与H5双向通信:通过createWebMessagePorts、PostMessage接口(对应Android的WebMessagePort、postWebMessage接口),创建一个消息通道[port1,port2]与JS进行通信。
关于ArkWeb的更多信息请参见:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs/faqs-arkweb-kit-0000001816292321
版权归原作者 Mayism123 所有, 如有侵权,请联系我们删除。