HarmonyOS 鸿蒙Next WebView 加载网页白屏

发布于 1周前 作者 gougou168 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next WebView 加载白屏

WebView 加载白屏 部分链接加载正常,部分链接无法加载

查看文档链接 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/web-page-loading-with-web-components-0000001820999889 https://m.zcygov.cn/luban/privacy_policy?hideTitle=1 无法加载

https://www.baidu.com 正常加载

2 回复

开发者您好,页面应该使用了数据存储相关功能,加上这些权限可以加载出来:

import web_webview from '@ohos.web.webview';

import business_error from '@ohos.base';

import { url } from '@kit.ArkTS';

import { router } from '@kit.ArkUI';

@Entry

@Component

struct WebComponent {

  @State userAgent:string = ""Mozilla/5.0 (Phone; OpenHarmony 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36  ArkWeb/4.1.6.1 Mobile""

  params = router.getParams() as URLStringRouteInfo

  urlString?: string | null = 'http://'

  webviewController: web_webview.WebviewController = new web_webview.WebviewController();

  build() {

    Column() {

      Web({ src: ""https://m.zcygov.cn/luban/privacy_policy?hideTitle=1"", controller: this.webviewController}).onControllerAttached(()=>{

            this.webviewController.setCustomUserAgent(this.userAgent)

          })

        //加上以下权限

        .fileAccess(true)

        .javaScriptAccess(true)

        .domStorageAccess(true)

        .onlineImageAccess(true)

    }

  }

}

class URLStringRouteInfo {

  urlString?: string | null = 'http://'

}

针对HarmonyOS 鸿蒙Next WebView加载白屏的问题,可能的原因及解决方案如下:

  1. 网络问题:确保设备网络条件良好,并检查应用是否已添加网络权限ohos.permission.INTERNET。
  2. 系统兼容问题:检查WebView组件是否与当前HarmonyOS版本兼容,并尝试更新或替换组件版本。
  3. HTML/JavaScript语法问题:前端语法报错或框架兼容异常可能导致白屏,使用浏览器打开对应页面验证是否存在问题,或使用Devtools工具调试前端页面。
  4. 特定字符问题:若加载的网页内容含有字符“#”,可能导致白屏或内容无法显示。尝试对含有“#”的内容进行转义(如转换成%23)或进行base64编码。

此外,还需检查WebView的初始化和使用代码,确保没有逻辑错误。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部