• Lv0
    粉丝0

积分87 / 贡献0

提问6答案被采纳0文章0

我有个需求,要开发浏览器,请问用什么控件,如何监听浏览器的加载和下载事件呢~

深开鸿_王皓

板凳 发表于 2023-11-6 11:36:22
@Component
struct Index {
   // 定义Web组件的控制器controller
   controller: WebController = new WebController();

   build() {
     Column() {
       Web({ src: $rawfile('index.html'), controller: this.controller  }).fileAccess(true)
        .javaScriptAccess(true)
        .zoomAccess(true)
        .imageAccess(true)
        .height(500)
        .padding(20)
        .onAlert(e =>{
          console.info('onAlert url: ', e.url);
          console.info('onAlert message: ', e.message);
          AlertDialog.show({
            title: `系统弹窗`,
            message: `这是一个系统弹窗,是否确认?`,
            confirm: {
              value: `确定`,
              action: () => {
                console.log('onAlert Button-clicking callback')
                e.result.handleConfirm()
              }
            },
            cancel: () => {
              console.log('onAlert Closed callbacks')
              e.result.handleCancel()
            }
          })
          return true
        })
        .onConfirm(e =>{
           console.log('onConfirm url: '+e.url)
           console.log('onConfirm message: '+e.message)
           AlertDialog.show({
             title: `系统弹窗`,
             message: `这是一个系统弹窗,是否确认?`,
             confirm: {
               value: `确定`,
               action: () => {
                 console.log('onConfirm Button-clicking callback')
                 e.result.handleConfirm()
               }
             },
             cancel: () => {
               console.log('onConfirm Closed callbacks')
               e.result.handleCancel()
             }
           })
           return true
        })
.onConsole(e =>{
           console.log('onConsole ConsoleMessage: '+e.message.getMessage())
           return true
        })
     }
   }
}

网页的加载事件参考: onErrorReceive(callback: (event?: { request: WebResourceRequest, error: WebResourceError }) => void) 网页加载遇到错误时触发该回调。出于性能考虑,建议此回调中尽量执行简单逻辑。request:网页请求的封装信息。error:网页加载资源错误的封装信息 。 onHttpErrorReceive(callback: (event?: { request: WebResourceRequest, response: WebResourceResponse }) => void) 网页加载资源遇到的HTTP错误(响应码>=400)时触发该回调。request:网页请求的封装信息。response:网页响应的封装信息 onPageBegin(callback: (event?: { url: string }) => void) 网页开始加载时触发该回调,且只在主frame触发,iframe或者frameset的内容加载时不会触发此回调。url:页面的URL地址。 onPageEnd(callback: (event?: { url: string }) => void) 网页加载完成时触发该回调,且只在主frame触发。url:页面的URL地址。

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部