HarmonyOS Web加载网页白屏
在一个组件中请求网络获取到要加载的url,在当前Web中加载出现白屏。
@Component 
export default struct NewsList { 
  // @State newsUrl: string = CommonConstants.NEWS_DEFAULT_URL; 
  @State newsUrl: string = '' 
  webviewController: web_webview.WebviewController = new web_webview.WebviewController(); 
  @State mode: MixedMode = MixedMode.All 
  @State webLoadFinish: boolean = false //新闻列表是否加载完成 
 
  async aboutToAppear(): Promise<void> { 
    let res: Record<string, ESObject> = await getNewsUrl() 
    if (res.data) { 
      this.newsUrl = res.data; 
    } 
  } 
 
  build() { 
    Column() { 
      DDNavigationBarView({ 
        title: '新闻', 
        showBack: false 
      }) 
      Web({ src: this.newsUrl, controller: this.webviewController }) 
        .domStorageAccess(true) 
        .mixedMode(this.mode) 
        .onPageEnd(() => { 
          this.webLoadFinish = true 
        }) 
        .onLoadIntercept((event) => { 
          if (this.webLoadFinish) { 
            if (getPassPort()) { //用户是否登陆 
              let userId: string = getPassPort().user_id; 
              let action = 'yes' 
              let userIcon: string = getPassPort().user_img 
              let userName: string = getPassPort().user_nickname 
              //同步用户数据给新闻页面 
              this.webviewController.loadUrl(`javascript:xyAuth.appAuth("${action}","${userId}","${userIcon}","${userName}")`) 
            } else { //用户未登陆 
              console.log('没有用户数据') 
              let userId: string = ''; 
              let action = 'no' 
              let userIcon: string = '' 
              let userName: string = '' 
              //同步用户数据给新闻页面 
              this.webviewController.loadUrl(`javascript:xyAuth.appAuth("${action}","${userId}","${userIcon}","${userName}")`) 
            } 
            router.pushUrl({ 
              url: 'pages/modules/news/pages/NewsDetailPage', 
              params: { newsDetailsUrl: event.data.getRequestUrl() } 
            }) 
          } 
          return this.webLoadFinish 
        }) 
        .javaScriptAccess(true) 
        .width('100%') 
        .height('100%') 
    } 
    .backgroundColor(Color.White) 
  } 
}
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 HarmonyOS应用使用Web组件加载网页经常白屏怎么办? 
1445浏览  • 0回复 待解决
HarmonyOS webview_flutter_ohos加载网页白屏 
1494浏览  • 1回复 待解决
HarmonyOS react-native-webview 加载网页失败,渲染白屏 
1018浏览  • 1回复 待解决
HarmonyOS  Web组件加载H5白屏 
1299浏览  • 1回复 待解决
HarmonyOS 使用web控件加载网页出现空白 
2196浏览  • 1回复 待解决
HarmonyOS 使用web组件loadData加载html文件白屏 
2631浏览  • 1回复 待解决
HarmonyOS 监听Web加载网页的DOMContentLoaded事件 
1191浏览  • 1回复 待解决
HarmonyOS web白屏 
909浏览  • 1回复 待解决
使用Web组件加载网页,显示空白。 
1686浏览  • 1回复 待解决
HarmonyOS Web加载某些网页时,会默认加载电脑端的网页,不会加载手机端的自适应网页 
1807浏览  • 1回复 待解决
HarmonyOS WebView打开网页经常出现白屏 
1787浏览  • 1回复 待解决
HarmonyOS Web控件加载网页视口(viewport)过大,导致网页显示效果不佳问题 
2000浏览  • 1回复 待解决
HarmonyOS web加载本地html显示的为pc端网页效果 
1163浏览  • 1回复 待解决
HarmonyOS  Web界面显示白屏 
1076浏览  • 1回复 待解决
HarmonyOS  webview加载url白屏 
1322浏览  • 1回复 待解决
HarmonyOS Web组件加载的h5网页如何获取到网页的window对象? 
1396浏览  • 1回复 待解决
HarmonyOS 使用webview嵌套网页,真机运行白屏 
1434浏览  • 1回复 待解决
HarmonyOS  web组件加载网页中部分图片显示有问题 
2155浏览  • 1回复 待解决
HarmonyOS Web组件中加载的网页如何设置默认不获取焦点 
1026浏览  • 1回复 待解决
HarmonyOS  web加载网页用input获取手机图库和相机进行拍照 
2224浏览  • 1回复 待解决
Web组件加载在线联盟网站论坛地址无法正常显示网页 
3554浏览  • 1回复 待解决
HarmonyOS  web打开在线网页,无法加载IP地址图片 
1633浏览  • 1回复 待解决
HarmonyOS  如何使用web加载网页 长按弹出按钮保存到本地? 
1240浏览  • 1回复 待解决
HarmonyOS  使用Web加载三方网页时提示token格式非法 
1026浏览  • 1回复 待解决
HarmonyOS  使用webview打开包含视频的网页会白屏 
1776浏览  • 1回复 待解决





















请尝试在异步获取newsUrl后,主动调用loadUrl加载,示例代码如下: