WebView 和 H5 交互。注册的class 中如何控制webview所在Page中显示底部dialog - HarmonyOS 鸿蒙Next
WebView 和 H5 交互。注册的class 中如何控制webview所在Page中显示底部dialog
2 回复
换了个方式去实现:page页根控件为相对布局,底部弹窗覆盖主要内容。在js注入的Class对象中jsFun,用[@Track](/user/Track)标记showBottomAction变量, 去控制底部弹窗的Visibility.Visible : Visibility.None
在HarmonyOS鸿蒙Next系统中,WebView与H5交互时,若需通过注册的class控制WebView所在Page中显示底部Dialog,通常需借助JavaScript接口与Java/Kotlin代码进行通信。
-
注册JavaScript接口:在WebView组件中注册一个JavaScript接口,该接口包含展示Dialog的方法。
-
H5调用JavaScript接口:在H5页面中,通过JavaScript调用已注册的接口方法,触发Native层展示Dialog的逻辑。
-
实现Dialog展示:在Java/Kotlin代码中,接收JavaScript接口的调用,并编写展示底部Dialog的具体逻辑。注意使用系统提供的Dialog组件或自定义Dialog,并确保其显示在Page的底部。
-
确保线程安全:由于WebView的JavaScript接口调用可能在不同线程中执行,需确保Dialog的显示逻辑在UI线程中执行,以避免线程安全问题。
实现上述步骤后,WebView中的H5页面即可通过JavaScript接口控制Native层展示底部Dialog。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html