HarmonyOS应用四之页面构建

目录:

1、加载网络页面

在Web组件加载完"www.example.com"页面后,开发者可通过loadUrl接口将此Web组件显示页面变更为"www.example1.com"。

typescript 复制代码
@Entry
@Component
struct WebComponent {
  controller: webview.WebviewController = new webview.WebviewController();

  build() {
    Column() {
      Button('loadUrl')
        .onClick(() => {
          try {
            // 点击按钮时,通过loadUrl,跳转到www.example1.com
            this.controller.loadUrl('www.example1.com');
          } catch (error) {
            let e: BusinessError = error as BusinessError;
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`);
          }
        })
      // 组件创建时,加载www.example.com
      Web({ src: 'www.example.com', controller: this.controller})
    }
  }
}

将本地页面文件放在应用的rawfile目录下,开发者可以在Web组件创建的时候指定默认加载的本地页面/html页面数据 ,并且加载完成后可通过调用loadUrl()接口变更当前Web组件的页面。

typescript 复制代码
// xxx.ets
import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

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

  build() {
    Column() {
      Button('loadUrl')
        .onClick(() => {
          try {
            // 点击按钮时,通过loadUrl,跳转到local1.html
            this.controller.loadUrl($rawfile("local1.html"));

           // 点击按钮时,通过loadData,加载HTML格式的文本数据
            this.controller.loadData(
              "<html><body bgcolor=\"white\">Source:<pre>source</pre></body></html>",
              "text/html",
              "UTF-8"
              
          } catch (error) {
            let e: BusinessError= error as BusinessError;
            console.error(`ErrorCode: ${e.code},  Message: ${e.message}`);
          }
        })
      // 组件创建时,通过$rawfile加载本地文件local.html
      Web({ src: $rawfile("local.html"), controller: this.controller })
    }
  }
}

2、完善中。。。。。。

相关推荐
小风呼呼吹儿2 小时前
Flutter 框架跨平台鸿蒙开发 - 充电温度检测器应用开发教程
flutter·华为·harmonyos
Easonmax2 小时前
零基础入门 React Native 鸿蒙跨平台开发:1——实现基础表格组件
react native·react.js·harmonyos
zilikew2 小时前
Flutter框架跨平台鸿蒙开发——个人名片管理APP的开发流程
flutter·华为·harmonyos·鸿蒙
[H*]2 小时前
Flutter框架跨平台鸿蒙开发——Container自定义绘制
flutter·华为·harmonyos
yingzicat2 小时前
华为和华三交换机和路由器时间配置
网络·华为
IT陈图图3 小时前
Flutter × OpenHarmony 实战:从 0 构建视频播放器的分类导航模块
flutter·华为·音视频·openharmony
小风呼呼吹儿3 小时前
Flutter 框架跨平台鸿蒙开发 - 简易字幕制作器:打造专业级字幕编辑工具
flutter·华为·harmonyos
时光慢煮3 小时前
Flutter × OpenHarmony 文件管家-构建文件管理器主界面与存储设备卡片
flutter·华为·开源·openharmony
ITUnicorn3 小时前
【HarmomyOS6】ArkTS入门(三)
华为·harmonyos·arkts·鸿蒙·harmonyos6