Web组件加载不存在的file协议地址时没有触发onLoadIntercept和onErrorReceive生命周期

代码如下:

@Entry 
@Component 
struct Index { 
  @State num: number = 0 
 
  build() { 
    Column(){ 
      Web({ src: 'file:///index.html', controller: new web_webview.WebviewController() }) 
        .onLoadIntercept((data) => { 
          return false 
        }) 
        .onErrorReceive((event) => { 
          console.error(event?.error.getErrorInfo()) 
        }) 
    }.width('100%').height('100%') 
  } 
}
HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​对于onLoadIntercept:当Web组件加载url(此url对应的html文件存在)之前触发该回调,用于判断是否阻止此次访问。默认允许加载;

对于onInterceptRequest:当Web组件加载url(此url对应的html文件存在)之前触发该回调,用于拦截url并返回响应数据。

对于onErrorReceive:网页加载遇到错误时触发该回调。出于性能考虑,建议此回调中尽量执行简单逻辑。在无网络的情况下,触发此回调。​

import web_webview from '@ohos.web.webview' 
 
@Entry 
@Component 
struct Web3Page { 
  @State num: number = 0 
  controller: web_webview.WebviewController = new web_webview.WebviewController(); 
 
  build() { 
    Column() { 
 
      Button("ClientCertAuth") 
        .onClick(() => { 
          try { 
            // web加载沙箱中文件是需要带文件协议前缀file://,需要对loadUrl进行异常捕获以防止文件不存在造成的崩溃问题 
            this.controller.loadUrl('file://index.html'); 
          } catch (error) { 
            console.log('xxx' + error) 
          } 
        }) 
 
      Web({ src: $rawfile('index.html'), controller: this.controller }) 
        .onLoadIntercept((data) => { 
          console.log('hhhh') 
          return false 
        }) 
        .onErrorReceive((event) => { 
          if (event) { 
            console.log('getErrorInfo:' + event.error.getErrorInfo()) 
            console.log('getErrorCode:' + event.error.getErrorCode()) 
          } 
        }) 
    } 
    .width('100%') 
    .height('100%') 
  } 
}
分享
微博
QQ
微信
回复
1天前
相关问题
Dialog组件生命周期问题
192浏览 • 1回复 待解决
AbilityStage组件容器生命周期回调
2120浏览 • 1回复 待解决
真机运行,UDID不存在
5925浏览 • 1回复 待解决
HarmonyOS TabContent页面生命周期触发
192浏览 • 1回复 待解决
如何理解重写onBackPress生命周期
2128浏览 • 1回复 待解决
HarmonyOS Navigation跳转组件生命周期
371浏览 • 2回复 待解决
如何知晓navigation组件生命周期
130浏览 • 1回复 待解决
监听Ability生命周期
970浏览 • 1回复 待解决
如何监听AbilitySlice生命周期
5015浏览 • 1回复 待解决
应用内生命周期流转
428浏览 • 1回复 待解决
TabContent 内容生命周期
195浏览 • 1回复 待解决
弹窗组件无法调用生命周期接口
2054浏览 • 1回复 待解决
HarmonyOS 模块生命周期管理
65浏览 • 1回复 待解决
如何实现文件不存在则创建文件
1958浏览 • 1回复 待解决
HarmonyOS App生命周期是什么?
240浏览 • 2回复 待解决
Window窗口生命周期问题
196浏览 • 1回复 待解决