HarmonyOS—使用Web组件加载页面

news2024/11/25 22:40:26

页面加载是 Web 组件的基本功能。根据页面加载数据来源可以分为三种常用场景,包括加载网络页面、加载本地页面、加载 HTML 格式的富文本数据。

页面加载过程中,若涉及网络资源获取,需要配置ohos.permission.INTERNET网络访问权限。

加载网络页面

开发者可以在 Web 组件创建的时候指定默认加载的网络页面 。在默认页面加载完成后,如果开发者需要变更此 Web 组件显示的网络页面,可以通过调用loadUrl()接口加载指定网络网页。

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

// xxx.etsimport web_webview from '@ohos.web.webview';
@Entry@Componentstruct WebComponent {  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  build() {    Column() {      Button('loadUrl')        .onClick(() => {          try {            // 点击按钮时,通过loadUrl,跳转到www.example1.com            this.webviewController.loadUrl('www.example1.com');          } catch (error) {            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);          }        })      // 组件创建时,加载www.example.com      Web({ src: 'www.example.com', controller: this.webviewController})    }  }}

加载本地页面

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

在下面的示例中展示加载本地页面文件的方法:

● 将资源文件放置在应用的 resources/rawfile 目录下。图 1 资源文件路径

● 应用侧代码

// xxx.etsimport web_webview from '@ohos.web.webview';
@Entry@Componentstruct WebComponent {  webviewController: web_webview.WebviewController = new web_webview.WebviewController();
  build() {    Column() {      Button('loadUrl')        .onClick(() => {          try {            // 点击按钮时,通过loadUrl,跳转到local1.html            this.webviewController.loadUrl($rawfile("local1.html"));          } catch (error) {            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);          }        })      // 组件创建时,通过$rawfile加载本地文件local.html      Web({ src: $rawfile("local.html"), controller: this.webviewController })    }  }}

● local.html 页面代码。

<!-- local.html --><!DOCTYPE html><html>  <body>    <p>Hello World</p>  </body></html>

加载 HTML 格式的文本数据

Web 组件可以通过loadData接口实现加载 HTML 格式的文本数据。当开发者不需要加载整个页面,只需要显示一些页面片段时,可通过此功能来快速加载页面。

// xxx.etsimport web_webview from '@ohos.web.webview';
@Entry@Componentstruct WebComponent {  controller: web_webview.WebviewController = new web_webview.WebviewController();
  build() {    Column() {      Button('loadData')        .onClick(() => {          try {            // 点击按钮时,通过loadData,加载HTML格式的文本数据            this.controller.loadData(              '<html><body bgcolor=\"white\">Source:<pre>source</pre></body></html>',              'text/html',              'UTF-8'            );          } catch (error) {            console.error(`ErrorCode: ${error.code},  Message: ${error.message}`);          }        })      // 组件创建时,加载www.example.com      Web({ src: 'www.example.com', controller: this.controller })    }  }}

点击关注阅读原文,了解更多资讯

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/953231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【STM32】学习笔记(串口通信)-江科大

串口通信 通信接口硬件电路电平标准USARTUSART框图 通信接口 串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信&#…

2、Spring6 入门

1、环境要求 JDK&#xff1a;Java17&#xff08;Spring6要求JDK最低版本是Java17&#xff09; Maven&#xff1a;3.6 Spring&#xff1a;6.0.2 2、构建模块 2.1 构建父模块spring6 点击“Create” 2.2 构建子模块spring-first 点击 Create 完成. 3、程序开发 3.1 引入依…

Garmin 佳明Venu 3系列内置睡眠教练,掌握好眠关键

Venu 3 系列智能运动健康腕表搭载全新睡眠教练&#xff0c;培养健康睡眠习惯; 进阶版身体电量&#xff0c;冥想指南&#xff0c;打造全天候健康生活续航 【2023年8月31日】佳明&#xff08;纽交所代码&#xff1a;GRMN&#xff09;发布Venu 3及Venu 3S智能运动健康腕表&#…

速卖通运营干货:如何利用测评养号实现店铺增长突破?

做过速卖通运营的卖家都知道爆款、标题、转化、后台数据这几个店铺运营关键词&#xff0c;是每位速卖通运营者都无法避开的。当中的每一个步骤的变化对于你的店铺都可能带来翻天地覆的变化。 可以这么说&#xff0c;以上的之间都是紧密联系在一起&#xff0c;更是一环扣一环&a…

景联文科技:高质量AI数据标注助力大语言模型训练,推动人工智能落地应用

大语言模型在各类LLM新技术的融会贯通下&#xff0c;不断加速Instruction-tuning、RLHF、思维链等新技术在大语言模型中的深度应用&#xff0c;人工智能技术以惊人的速度不断进化。 大语言模型&#xff08;LLM&#xff09;是一种基于深度学习技术和海量文本数据&#xff0c;它们…

室外定位|GPS模块选型,GPS模块应用_SKYLAB

定位技术作为物联网的一项重要感知技术,借助其获取物体的即时位置信息,可以衍生一系列基于位置信息的物联网应用。 随着智慧城市与新基建的发展&#xff0c;对精准的定位技术需求更加迫切。物体的位置实时变化&#xff0c;采集的其他信息通常必须与位置信息关联才有价值。本篇S…

Kafka系列六集群管理

文章首发于个人博客&#xff0c;欢迎访问关注&#xff1a;https://www.lin2j.tech 集群 Kafka 在搭建集群的时候需要借助 Zookeeper 来进行集群成员&#xff08;Brokers&#xff09;的管理。每一个 Broker 都有一个唯一标识 broker.id&#xff0c;用于自己在集群中的身份标识…

问道管理:“出海”势头强劲 A股公司半年报彰显中国制造全球竞争力

“出海”是2023年我国企业开展的关键词之一。从国内企业组团出海抢订单&#xff0c;到我国出口“新三样”&#xff0c;上半年的多项经济热门、亮点均与出海相关。 上市公司2023年半年报亦折射企业出海的积极改变。Choice数据显示&#xff0c;到记者发稿时已披露半年报的4566家…

M1卡控制位解析

一、M1卡介绍 非接触式传输数据和供电 工作频率为 13.56 MHz 16 位 CRC 数据完整性检验、奇偶校验、位编码、位计数 典型票务交易时间小于 100 毫秒&#xff08;包括备份管理&#xff09; 支持随机 ID&#xff08;7 字节 UID 版本&#xff09; 工作距离可达…

Linux之web服务器

目录 www简介 常见Web服务程序介绍 服务器主机 主要数据 浏览器 网址及HTTP简介 URL http请求方法 状态码 MIME&#xff08;Multipurpose Internet Mail Extension&#xff09; www服务器的类型 静态网站 动态网站 Apache服务的搭建 Apache的安装 准备工作 htt…

【Flutter】Flutter 使用 collection 优化集合操作

【Flutter】Flutter 使用 collection 优化集合操作 文章目录 一、前言二、安装和基本使用三、算法介绍四、如何定义相等性五、Iterable Zip 的使用六、优先队列的实现和应用七、包装器的使用八、完整示例九、总结 一、前言 大家好&#xff01;我是小雨青年&#xff0c;今天我要…

【LeetCode-中等题】105. 从前序与中序遍历序列构造二叉树

文章目录 题目方法一&#xff1a;递归 题目 方法一&#xff1a;递归 preorder [3,9,20,15,7] inorder [9,3,15,20,7] 首先根据 preorder 找到根节点是 3然后根据根节点将 inorder 分成左子树和右子树 左子树 inorder [9]右子树 inorder [15,20,7]这时候3是根节点 3的左子树…

C++信息学奥赛1178:成绩排序

#include<bits/stdc.h> using namespace std; int main(){int n;cin>>n; // 输入整数 n&#xff0c;表示数组的大小int arr[n]; // 创建大小为 n 的整型数组 arrstring brr[n]; // 创建大小为 n 的字符串数组 brrfor(int i0;i<n;i) cin>>brr[i]>>ar…

数据库设计的六个基本步骤

按照规范设计的方法&#xff0c;考虑数据库及其应用系统开发全过程&#xff0c;可将数据库设计分为以下6个阶段&#xff0c;分别为&#xff1a; 1.需求分析&#xff0c; 2.概念结构设计&#xff0c; 3.逻辑结构设计&#xff0c; 4.物理结构设计&#xff0c; 5.数据库实施&…

Ceph IO流程及数据分布

1. Ceph IO流程及数据分布 1.1 正常IO流程图 步骤&#xff1a; client 创建cluster handler。client 读取配置文件。client 连接上monitor&#xff0c;获取集群map信息。client 读写io 根据crshmap 算法请求对应的主osd数据节点。主osd数据节点同时写入另外两个副本节点数据。…

MES在人工智能方面的应用

MES&#xff08;制造执行系统&#xff09;在人工智能方面的应用主要集中在优化制造流程、提高生产效率和质量控制等方面。以下是一些MES在人工智能领域的应用案例&#xff1a; 1. 预测性维护&#xff1a;通过收集和分析生产设备的传感器数据&#xff0c;结合机器学习算法&am…

Tauri打包windows应用配置中文界面

使用 Tauri Rust 开发桌面应用&#xff0c;在 windows 系统上&#xff0c;打包后安装包名称后缀、安装界面、相关说明默认都是英文的。如果要默认显示为中文&#xff0c;则需要在 tauri.conf.json 中配置相应参数。 前言 默认情况下&#xff0c;在 windows 系统打完的 mis 包…

苹果照片丢失了?三招教你快速找回珍贵照片

照片记录了我们生活中的无数美好瞬间&#xff0c;能够帮助人们重新唤起那些珍贵的记忆。平时&#xff0c;大家也喜欢通过分享照片来让家人和朋友更加了解自己的生活。 如果手机上的照片不小心误删或者莫名丢失&#xff0c;请不必过度焦虑。小编为大家整理了适合果粉恢复苹果照…

中途接手项目,项目经理何如顺利交付?

有一个新项目&#xff0c;因为项目不被公司领导看中&#xff0c;项目金额小&#xff0c;对公司没有多少价值&#xff0c;且客户要求较多&#xff0c;但是碍于客户是熟人又不得不做&#xff0c;原来的项目经理承受不住压力离职&#xff0c;公司打算将这个项目交付这个我&#xf…

Doris行权限入门实战

Doris行权限原理 Doris支持了行级数据权限&#xff0c;当多租户模式使用的是共享表模式的情况下该功能能很方便的帮用户数实现行级权限控制。 Doris的行级权限是通过安全策略(ROW POLICY)实现的。 具体做法为&#xff1a;用户在指定表上创建安全策略并授权到具体的用户&#…