HarmonyOS 鸿蒙Next中Web组件

HarmonyOS 鸿蒙Next中Web组件

import { webview } from '@kit.ArkWeb';

@Entry
@Component
struct WebTestPage {
  controller: webview.WebviewController = new webview.WebviewController();

  build() {
    Column() {
      Web({ src: "https://www.bilibili.com/", controller: this.controller })
    }
    .width('100%')
    .height('100%')
  }
}

webview必须使用真机才能渲染出来界面吗?我用的模拟器加载出来的是白屏


更多关于HarmonyOS 鸿蒙Next中Web组件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

模拟器可以使用web组件的,可能是这个网站的问题吧!

更多关于HarmonyOS 鸿蒙Next中Web组件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我换了好几个网站都是白屏(也可能是这几个网站都不行),

找到原因了,是我权限配置有问题,

在哪里配置的,求分享,

HarmonyOS Next的Web组件基于系统级Web引擎,支持H5页面渲染和JavaScript交互。该组件提供loadUrl()方法加载网页,支持前端调试和Cookie管理。可通过Web组件实现网页与原生应用的数据通信,包括JavaScript调用ArkTS方法。组件支持基本的前端技术栈,如HTML5、CSS3和ES6。

在HarmonyOS Next中,Web组件(由@kit.ArkWeb模块提供)的渲染确实对运行环境有明确要求。根据官方文档和开发实践,ArkWeb引擎需要依赖真实的系统WebView实现来渲染网页内容

目前,官方的本地模拟器(Local Emulator)可能尚未完整集成或兼容系统级的WebView运行环境,这会导致Web组件加载后显示白屏。因此,开发和调试使用Web组件的应用时,必须使用真机设备

您提供的代码本身是正确的,它展示了在@Entry组件中创建WebviewController并初始化Web组件的基本方法。这个白屏问题不是代码错误,而是模拟器环境的限制。

总结:要正常预览和调试Web组件的页面加载效果,请务必使用HarmonyOS Next的真机进行运行和测试。模拟器目前无法支持此组件的渲染。

回到顶部