HarmonyOS Web组件无法弹出网页的alert弹框

使用Web组件,网页中alert("123")弹框点击没反应,请问如何解决

HarmonyOS
2024-12-17 15:21:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

alert在webview组件中被屏蔽了,可以使用弹窗实现,可参考以下代码实现:

// xxx.ets  应用侧代码
import web_webview from '@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>
分享
微博
QQ
微信
回复
2024-12-17 16:28:54
相关问题
HarmonyOS 无法在非组件里面弹出
335浏览 • 1回复 待解决
HarmonyOS 通知授权无法弹出 -
462浏览 • 1回复 待解决
HarmonyOS PermissionDialog无法
307浏览 • 1回复 待解决
HarmonyOS web组件alert不显示
1380浏览 • 1回复 待解决
HarmonyOS 输入获取焦点后无法弹出
389浏览 • 1回复 待解决
HarmonyOS 自定义组件问题
913浏览 • 1回复 待解决
HarmonyOS 嵌套实现
364浏览 • 1回复 待解决
自定义,遮罩背景颜色无法设置
645浏览 • 1回复 待解决
HarmonyOS 网页组件无法正常加载网址
269浏览 • 1回复 待解决
HarmonyOS CustomDialog报错
394浏览 • 1回复 待解决
HarmonyOS 支付输入
512浏览 • 1回复 待解决
HarmonyOS 隐私协议
274浏览 • 1回复 待解决