HarmonyOS NEXT开发教程:加速web页面访问
在日常app开发中,访问web页面是很常见的功能,在鸿蒙系统中有多种方案来加速web页面的访问,提升用户体验。
首先,可以在Web组件的onAppear方法中对要加载的页面进行预链接,比如:
Web({ src: 'https://www.example.com/', controller: this.webviewController })
.onAppear(() => {
webview.WebviewController.prepareForPageLoad('https://www.example.com/', true, 2);
})
以上代码中的prepareForPageLoad()方法也可以用在项目的Ability文件中初始化Web内核并对首页进行预连接:
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
webview.WebviewController.initializeWebEngine();
webview.WebviewController.prepareForPageLoad("https://www.example.com/", true, 2);
AppStorage.setOrCreate("abilityWant", want);
}
如果你的web链接内部也存在一些跳转,可以在Web组件的onPageEnd方法中对即将跳转的页面进行预加载,比如:
Web({ src: 'https://www.example.com/', controller: this.webviewController })
.onPageEnd(() => {
this.webviewController.prefetchPage('https://www.iana.org/help/example-domains');
})
我们还可以使用prefetchResource()方法预获取web页面中的post请求,也就是加载用户可能会访问的资源,例如图片、脚本、样式表等,然后再onPageEnd()方法中使用clearPrefetchedResource()清除不再需要的缓存:
Web({ src: "https://www.example.com/", controller: this.webviewController })
.onAppear(() => {
webview.WebviewController.prefetchResource(
{
url: "https://www.example1.com/post?e=f&g=h",
method: "POST",
formData: "a=x&b=y",
},
[{
headerKey: "c",
headerValue: "z",
},],
"KeyX", 500);
})
.onPageEnd(() => {
webview.WebviewController.clearPrefetchedResource(["KeyX",]);
})
以上就是对web页面的一些性能优化。
幽蓝君正在参加第二期的鸿蒙学习资源贡献者活动,诚邀各位友友也一起参加。获奖者将会获得华为官方的定制证书和奖品,还有机会受邀参加华为的新品发布会和开发者大会,咱们说不定有机会松山湖见。欢迎有意向的友友入群报名。
HarmonyOS NEXT开发教程:加速web页面访问的更多相关文章
- android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
- 2019/7/22----tomacat配置web页面访问路径
tomcat----conf-----Catalina----localhost----cms.xml,cms.xml文件中添加: <?xml version='1.0' encoding=&q ...
- Kendo UI开发教程(23): 单页面应用(一)概述
Kendo单页面应用(Single-Page Application,缩写为SPA)定义了一组类用于简化Web应用(Rich Client)开发,最常见的单页面应用为Gmail应用,使用单页面可以给用 ...
- HDFS的WEB页面访问常见问题
HDFS的WEB UI管理页面 50070 端口 无法访问解决办法! 本文基于HADOOP-3..1.0,Cecntos7.0环境下进行测试,所以遇到很多新鲜的问题: 特别注意:HaDoop3.0之前 ...
- cacti web页面访问 settings出错
查看apache错误日志: 错误信息Mon Dec 26 11:00:48.241653 2016] [:error] [pid 32607] [client 192.168.10.79:65009] ...
- Kendo UI开发教程(24): 单页面应用(二) Router 类
Route类负责跟踪应用的当前状态和支持在应用的不同状态之间切换.Route通过Url的片段功能(#url)和流量器的浏览历史功能融合在一起.从而可以支持把应用的某个状态作为书签添加到浏览器中.Rou ...
- 开发移动端web页面click事件失效问题
这两天在做一个WAP页面,在chrome上模拟移动端的时候,都好好的,然而放到手机上测试时, 发现有些点击事件直接无反应,但是有些有反应: 难道是由于我页面上有用到滚动插件,里面的touch事件的pr ...
- Kendo UI开发教程(26): 单页面应用(四) Layout
Layout继承自View,可以用来包含其它的View或是Layout.下面例子使用Layout来显示一个View 1 <div id="app"></div&g ...
- Kendo UI开发教程(25): 单页面应用(三) View
View为屏幕上某个可视部分,可以处理用户事件. View可以通过HTML创建或是通过script元素.缺省情况下View将其所包含的内容封装在一个Div元素中.Kendo创建View有两种方式: 使 ...
- [置顶] Kendo UI开发教程: Kendo UI 示例及总结
前面基本介绍完Kendo UI开发的基本概念和开发步骤,Kendo UI的示例网站为http://demos.kendoui.com/ ,包含了三个部分 Web DemoMobile DemoData ...
随机推荐
- 深度学习中CUDA环境安装教程
首先说明,本人是小白,一次安装,可能有不对的地方,望包含. 安装CUDA 因为我们是深度学习,很多时候要用到gpu进行训练,所以我们需要一种方式加快训练速度. 通俗地说,CUDA是一种协助" ...
- C51二进制数输入宏
在C语言中有十进制,十六进制,八进制;没有二进制的定义,在C51中使用十六进制表示有时不太直观,下面介绍几种方法表示二进制[均来自网络] 方法一 #define _BIN(a,b,c,d,e,f,g, ...
- IDM 下载器 汉化注册激活
将以下程序更改为.bat文件.使用windows的管理员权限打开. 汉化于:https://github.com/WindowsAddict/IDM-Activation-Script @setloc ...
- Nginx 拒绝错误SNI请求以防止源站被扫描
Nginx 1.19.4 版本更新了一个新的配置,允许使用 ssl_reject_handshake 这个参数来拒绝错误 SNI 请求的握手,可以防止被类似Censys互联网扫码工具扫描出源站ip 在 ...
- TypeError: Cannot read properties of null (reading 'level')
一.分析问题 1.一个下拉框组件的更新由另一个下拉框组件控制被动更新列表,子级下拉框的值是由父级下拉框的值调用接口获取,每次父级下拉框值的改变都会改变子级下拉框的数据源也就是会改变子级下拉框的opti ...
- excel 数字转中文大写金额
1.在单元格中输入公式: =SUBSTITUTE(SUBSTITUTE(IF(-RMB(A1,2),TEXT(A1,";负")&TEXT(INT(ABS(A1)+0.5%) ...
- 记一次.NET内存居高不下排查解决与启示
前情 我们有个海外的项目,一共70个服务,前前后后花了超过一年时间完成了云服务迁移和架构调整.主要是架构调整了,原来的docker swarm托管服务,新架构改为Kubernetes托管.几台云服务器 ...
- 一个生成随机颜色的js函数
function getRandomColor(){ let rgb = []; for(let i=0;i<3;++i){ let color = Math.floor(Math.random ...
- c# 使用 Read 读取数据块
class Program { static void Main(string[] args) { Stream s = new MemoryStream(); for (int i = 0; i & ...
- 吐血整理!2025 最好用 AI 工具全汇总,别再瞎找了!
在当下这个 AI 蓬勃发展的时代,各类 AI 工具如雨后春笋般涌现,让人眼花缭乱.无论是职场人士想要提升工作效率,还是创作者渴望激发灵感.优化内容,亦或是学生期望找到学习的得力助手,都在苦苦寻觅真正好 ...