HarmonyOS 鸿蒙Next真机调试,Web组件中打开的网页不支持alert,confirm这些基础提示功能?

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next真机调试,Web组件中打开的网页不支持alert,confirm这些基础提示功能?

cke_260.png

就一个简单的alert,其他浏览器都没问题,就在Web组件中不生效。

4 回复
alert方法在鸿蒙的webview中被屏蔽掉了,如果要使用弹窗功能可以使用下列代码替换
// xxx.ets  应用侧代码
import web_webview from '[@ohos](/user/ohos).web.webview'

@Entry @Component struct WebComponent { controller: web_webview.WebviewController = new web_webview.WebviewController() build() { Column() { Web({ src: $rawfile(“index.html”), controller: this.controller }) .onAlert((event) => { if (event) { console.log(“event.url:” + event.url) console.log(“event.message:” + event.message) AlertDialog.show({ title: ‘onAlert’, message: ‘text’, primaryButton: { value: ‘cancel’, action: () => { event.result.handleCancel() } }, secondaryButton: { value: ‘ok’, action: () => { event.result.handleConfirm() } }, cancel: () => { event.result.handleCancel() } }) } return true }) } } }

//html代码 <!–index.html–> <!DOCTYPE html> <html> <head> <meta name=“viewport” content=“width=device-width, initial-scale=1.0” charset=“utf-8”> </head> <body> <h1>WebView onAlert Demo</h1> <button onclick=“myFunction()”>Click here</button> <script> function myFunction() { alert(“Hello World”); } </script> </body> </html>

alert 在Android webview 也不能生效吧?至少我这是这样

我们这边生效的

HarmonyOS在Web组件中处理JavaScript弹窗(如alert, confirm)时可能因安全策略或环境差异而受限。首先确保你的Web组件配置正确,且已允许JavaScript执行。可以尝试在鸿蒙的WebView组件中设置相关权限或属性来支持这些弹窗。此外,检查是否有特定的API或方法用于在鸿蒙环境中替代这些标准的浏览器弹窗。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部