HarmonyOS Next开发学习手册——使用Web组件加载页面

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

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

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

加载网络页面

开发者可以在Web组件创建时,指定默认加载的网络页面 。在默认页面加载完成后,如果开发者需要变更此Web组件显示的网络页面,可以通过调用 loadUrl() 接口加载指定的网页。 Web组件 的第一个参数变量src不能通过状态变量(例如:@State)动态更改地址,如需更改,请通过 loadUrl() 重新加载。

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

// 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,跳转到www.example1.com
            this.controller.loadUrl('www.example1.com');
          } catch (error) {
            console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
          }
        })
      // 组件创建时,加载www.example.com
      Web({ src: 'www.example.com', controller: this.controller })
    }
  }
}

加载本地页面

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

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

  • 将资源文件放置在应用的resources/rawfile目录下。

图1 资源文件路径

  • 应用侧代码。
// 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"));
          } catch (error) {
            console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
          }
        })
      // 组件创建时,通过$rawfile加载本地文件local.html
      Web({ src: $rawfile("local.html"), controller: this.controller })
    }
  }
}
HarmonyOS NEXT应用开发性能优化从入门到精通指南~ 开发HarmonyOS NEXT应用时,优化应用性能是至关重要的。本文将介绍应用开发过程中常见的一些性能问题,并提供相应的解决方案,配合相关参考示例,帮助开发者解决大部分性能问题。我们把应用性能分析的方法划分为了性能分析四板斧,下面将介绍如何使用性能分析四板斧,解决应用开发过程中的性能问题。第一板斧:合理使用并行化、预加载和缓存,我们需要合理地使用并行化、预加载和缓存等方法,例如使用多线程并发、异步并发、Web加载等能力,提升系统资源利用率,减少主线程负载,加快应用的启动速度和响应速度。 阅读详情

相关推荐

鸿蒙开发】第四十六章 ArkWeb(方舟Web

ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容。应用集成Web页面:应用可以在页面使用Web组件,嵌入Web页面内容,以降低开发成本,提升开发、运营效率。浏览器网页浏览场景:浏览器类应用可以使用Web组件打开三方网页使用无痕模式浏览Web页面,设置广告拦截等。小程序:小程序类宿主应用可以使用Web组件,渲染小程序的页面使用Web组件加载本地或者在线网页

wsy18201533604的博客 1831

HarmonyOS NEXT】FAQ之应用框架(Web框架开发4)

A:建议在onControllerAttached回调事件中,使用setCustomUserAgent来设置自定义用户代理。

qq_45789342的博客 968

HarmonyOS Next开发学习手册——ArkWeb

ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容,为开发者提供页面加载页面交互、页面调试等能力。页面加载Web组件提供基础的前端页面加载的能力,包括加载网络页面、本地页面、html格式文本数据。页面交互:Web组件提供丰富的页面交互的方式,包括:设置前端页面深色模式,新窗口中加载页面,位置权限管理,Cookie管理,应用侧使用前端页面JavaScript等能力。页面调试:Web组件支持使用 Devtools工具 调试前端页面

maniuT的博客 1876

HarmonyOS NEXT开发进阶)使用Web组件加载页面

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

WEZC156465的博客 1554

HarmonyOS NEXT实战开发Web组件的H5页面切换

小编在之前的鸿蒙系统扫盲中,有很多朋友给我留言,不同的角度的问了一些问题,我明显感觉到一点,那就是许多人参与鸿蒙开发,但是又不知道从哪里下手,因为资料太多,太杂,教授的人也多,无从选择。这里讨论页面切换点击操作响应时延场景描述:Web页面内部点击按钮路由跳转新页面,此时APP发生了页面跳转(H5内部)场景特点:观察看到页面发生的转场切换,实际Web组件无变化,是H5页面跳转H5页面页面变化第一帧:肉眼看到屏幕变化的第一帧(视频上数出来的)并记录时间,在trace上从起点拉相同的时间找到终点位置。

2401_84917132的博客 1547

HarmonyOS Next开发学习手册——管理Web组件

为了提高安全性,ArkWeb内核不允许file协议或者resource协议访问URL上下文中来自跨域的请求。因此,在使用Web组件加载本地离线资源的时候,Web组件会拦截file协议和resource协议的跨域访问。

maniuT的博客 1852

鸿蒙HarmonyOS NEXT十大开源项目

【OH哔哩】是一款基于OpenHarmony系统ArkUI框架开发的哔哩哔哩动画第三方客户端。

欢迎加入Android老司机学院 482266514(技术交流群)密码CSDN 2万+

鸿蒙next开发:ArkWeb-使用Web组件加载页面

页面加载Web组件的基本功能..........

qq_39652397的博客 1167

鸿蒙HarmonyOS NEXT开发进阶)Web组件加载网页的四种方法实践案例

在应用界面里嵌入网页是很多快速APP开发使用的方式之一,通过这种方式可以比较好的达到多端兼容的效果,鸿蒙也一样提供了类似的能力,就是基础组件中的Web组件。当然,单纯的靠Web组件也无法实现复杂的功能,还需要对应的控制器WebviewController,两者配合可以达到最佳的控制和显示效果。

adaedwa187545的博客 1882

鸿蒙NEXT版实战开发使用Web组件加载页面

页面加载Web组件的基本功能。

qq_39652397的博客 1181

HarmonyOS NEXT开发实战:下拉刷新上滑加载案例

本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据。

m0_72493819的博客 1634

鸿蒙开发使用ArkWeb组件加载H5页面

相当于iOS/Android中的WebView控件,给个url就可以展示H5页面。我也是带着这些问题去学习使用ArkWeb的。

m0_56255097的博客 4746

OpenHarmony实战开发-Web组件开发性能提升指导。

开发者实现在应用中跳转显示网页需要分为两个方面:使用@ohos.web.webview提供Web控制能力;使用Web组件提供网页显示的能力。在实际应用中往往由于各种原因导致首次跳转Web网页Web组件内跳转时出现白屏、卡顿等情况。本文介绍提升Web首页加载Web网页间跳转速度的几种方法。

2401_82546228的博客 1555

HarmonyOS Next 使用ArkWeb同层渲染案例_arkweb现在在鸿蒙中还在使用吗(1)

(**ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony****多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发鸿蒙项目实战等等)鸿蒙HarmonyOS NEXT)**技术知识点。// 性能知识点:此处componentId项确定且数量较少,使用了ForEach,在数据量多的情况下,推荐使用LazyForeEach。// 原生Grid组件,Grid中包含Image和Text。

2401_84170623的博客 590

HarmonyOS鸿蒙开发入门,ArkWeb基础使用

本文介绍了华为HarmonyOS中的ArkWeb组件使用方法。ArkWeb提供Web组件支持加载网络页面、本地HTML和文本数据,具备页面交互、权限管理等功能。文章详细说明了Web组件的生命周期回调接口,并给出两种典型使用场景的实现代码:1)加载本地HTML文件(需放在rawfile目录);2)加载在线网页(需申请INTERNET权限)。关键点包括:必须为每个Web组件绑定独立的WebviewController,src参数不支持动态修改,以及不同渲染模式的选择。通过示例代码和效果图展示了基础功能的实现过程

商城app+新闻app+备忘录记事本app视频教程在某站【浩宇软件开发】 1163

Arkts web组件使用

访问在线网页时您需要在module.json5文件中申明网络访问权限:ohos.permission.INTERNET。加载网页效果无法在预览器中查看,需要在模拟器或者真机中展示项目。Web组件使用非常简单,只需要ArkTS文件中创建一个。组件,传入两个参数就可以了。指定引用的网页路径,为组件的控制器,通过。

程序员一博 1975

想用HarmonyOS看点特殊的网站?HarmonyOS——ArkWeb加载本地页面、网络页面以及HTML格式数据

ArkWeb,只有你想不到,没有你看不到

2301_79624024的博客 624
上一篇: HarmonyOS Next开发学习手册——管理Web组件
下一篇: HarmonyOS Next开发学习手册——管理页面跳转及浏览记录导航
OpenHarmony_小贾
博客等级 码龄3年 1万+粉丝 · 1181原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值