| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 22-Oct-2025 | - | 35 | 32 | ||
| entry/ | 22-Oct-2025 | - | 610 | 551 | ||
| entry1/ | 22-Oct-2025 | - | 534 | 482 | ||
| entry2/ | 22-Oct-2025 | - | 765 | 693 | ||
| entry3/ | 22-Oct-2025 | - | 726 | 652 | ||
| entry4/ | 22-Oct-2025 | - | 758 | 685 | ||
| hvigor/ | 22-Oct-2025 | - | 38 | 36 | ||
| screenshots/ | 22-Oct-2025 | - | ||||
| .gitignore | D | 22-Oct-2025 | 133 | 12 | 12 | |
| README.md | D | 22-Oct-2025 | 8.4 KiB | 249 | 171 | |
| build-profile.json5 | D | 22-Oct-2025 | 2.1 KiB | 100 | 99 | |
| code-linter.json5 | D | 22-Oct-2025 | 958 | 35 | 34 | |
| hvigorfile.ts | D | 22-Oct-2025 | 830 | 22 | 5 | |
| oh-package.json5 | D | 22-Oct-2025 | 834 | 26 | 24 | |
| ohosTest.md | D | 22-Oct-2025 | 3.9 KiB | 61 | 39 |
README.md
1# 加速Web页面的访问 2 3### 介绍 4 51. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-predictor.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。 6 7### Entry: 8 9#### PrepareForPageLoad_one 10 11##### 介绍 12 131. 本示例主要介绍加速Web页面的访问,可以通过prepareForPageLoad()来预解析或者预连接将要加载的页面。 14 15##### 效果预览 16 17| 主页 | loadDate | 18| ------------------------------------------------------------ | ------------------------------------------------------------ | 19| <img src="./screenshots/PrepareForPageLoad_one_1.png" width="360;" /> | <img src="./screenshots/PrepareForPageLoad_one_2.png" width="360;" /> | 20 21使用说明 22 231. 在Web组件的onAppear中对要加载的页面进行预连接。 241. 点击超链接跳转下一界面。 251. 点击loadData按钮返回上个界面。 26 27### Entry1: 28 29#### PrepareForPageLoad_two 30 31##### 介绍 32 331. 本示例主要介绍加速Web页面的访问,可以通过initializeBrowserEngine()来提前初始化内核,然后在初始化内核后调用 prepareForPageLoad()对即将要加载的页面进行预解析、预连接。 34##### 效果预览 35 36| 主页 | loadDate | 37| ------------------------------------------------------------ | ------------------------------------------------------------ | 38| <img src="./screenshots/PrepareForPageLoad_two_1.png" width="360;" /> | <img src="./screenshots/PrepareForPageLoad_two_2.png" width="360;" /> | 39 40使用说明 41 421. Ability的onCreate中提前初始化Web内核并对首页进行预连接。 43 44### Entry2: 45 46#### Prefetching 47 48##### 介绍 49 501. 本示例主要介绍加速Web页面的访问,如果能够预测到Web组件将要加载的页面或者即将要跳转的页面,可以通过prefetchPage()来预加载即将要加载页面。 51 52##### 效果预览 53 54| 主页 | 55| -------------------------------------------------------- | 56| <img src="./screenshots/Prefetching.png" width="360;" /> | 57 58使用说明 59 601. 在onPageEnd的时候触发下一个要访问的页面的预加载。 61 62#### PrefetchingAPOSTRequest_one 63 64##### 介绍 65 661. 本示例主要介绍加速Web页面的访问,通过prefetchResource()预获取将要加载页面中的post请求。在页面加载结束时,可以通过clearPrefetchedResource()清除后续不再使用的预获取资源缓存。 67 68##### 效果预览 69 70| 主页 | 71| ------------------------------------------------------------ | 72| <img src="./screenshots/PrefetchingAPOSTRequest_one.png" width="360;" /> | 73 74使用说明 75 761. 对要加载页面中的post请求进行预获取。在onPageEnd中,可以清除预获取的post请求缓存。 77 78#### PrefetchingAPOSTRequest_two 79 80##### 介绍 81 821. 本示例主要介绍加速Web页面的访问,如果能够预测到Web组件将要加载页面或者即将要跳转页面中的post请求。可以通过prefetchResource()预获取即将要加载页面的post请求。 83 84##### 效果预览 85 86| 主页 | 87| ------------------------------------------------------------ | 88| <img src="./screenshots/PrefetchingAPOSTRequest_two.png" width="360;" /> | 89 90使用说明 91 921. 在onPageEnd中,触发预获取一个要访问页面的post请求。 93 94#### PrefetchingAPOSTRequest_three 95 96##### 介绍 97 981. 本示例主要介绍加速Web页面的访问,通过initializeBrowserEngine()提前初始化内核,然后在初始化内核后调用prefetchResource()预获取将要加载页面中的post请求。这种方式适合提前预获取首页的post请求。 99 100##### 效果预览 101 102| 主页 | 103| ------------------------------------------------------------ | 104| <img src="./screenshots/PrefetchingAPOSTRequest_three.png" width="360;" /> | 105 106使用说明 107 1081. 在Ability的onCreate中,提前初始化Web内核并预获取首页的post请求。 109 110### Entry3: 111 112#### PrecompForCompCache 113 114##### 介绍 115 1161. 本示例主要介绍加速Web页面的访问,通过precompileJavaScript()在页面加载前提前生成脚本文件的编译缓存。 117 118##### 效果预览 119 120| 主页 | 加载页面 | 121| ------------------------------------------------------------ | ------------------------------------------------------------ | 122| <img src="./screenshots/PrecompForCompCache_1.png" width="360;" /> | <img src="./screenshots/PrecompForCompCache_2.png" width="360;" /> | 123 124使用说明 125 1261. 应用启动时EntryAbility将UIContext存到localstorage,初始化预编译Web组件生成编译缓存。 1272. 点击加载页面按钮,创建businessNode,加载业务用Web组件展示business.html页面,此时会使用之前生成的编译缓存。 128 129### Entry4: 130 131#### InjOffResNoInt 132 133##### 介绍 134 1351. 本示例主要介绍加速Web页面的访问,可以通过injectOfflineResources()在页面加载前提前将图片、样式表或脚本资源注入到应用的内存缓存中。 136 137##### 效果预览 138 139| 主页 | 加载页面 | 140| ------------------------------------------------------------ | ------------------------------------------------------------ | 141| <img src="./screenshots/InjOffResNoInt_1.png" width="360;" /> | <img src="./screenshots/InjOffResNoInt_2.png" width="360;" /> | 142 143使用说明 144 1451. 进入Index.ets页面自动触发aboutToAppear方法。 1462. 点击加载页面按钮创建businessNode,加载业务用Web组件,展示business.html页面。 147 148### 工程目录 149 150``` 151entry/src/main/ 152|---ets 153|---|---entryability 154|---|---|---EntryAbility.ets 155|---|---pages 156|---|---|---Index.ets // 首页 157|---resources // 静态资源 158|---ohosTest 159|---|---ets 160|---|---|---tests 161|---|---|---|---Ability.test.ets // 自动化测试用例 162 163entry1/src/main/ 164|---ets 165|---|---entryability 166|---|---|---EntryAbility.ets 167|---|---pages 168|---|---|---Index.ets // 首页 169|---resources // 静态资源 170|---ohosTest 171|---|---ets 172|---|---|---tests 173|---|---|---|---Ability.test.ets // 自动化测试用例 174 175entry2/src/main/ 176|---ets 177|---|---entryability 178|---|---|---EntryAbility.ets 179|---|---pages 180|---|---|---Index.ets // 首页 181|---|---|---Prefetching.ets 182|---|---|---PrefetchingAPOSTRequest_one.ets 183|---|---|---PrefetchingAPOSTRequest_three.ets 184|---|---|---PrefetchingAPOSTRequest_two.ets 185|---resources // 静态资源 186|---ohosTest 187|---|---ets 188|---|---|---tests 189|---|---|---|---Ability.test.ets // 自动化测试用例 190 191entry3/src/main/ 192|---ets 193|---|---entryability 194|---|---|---EntryAbility.ets 195|---|---pages 196|---|---|---BusinessWebview.ets 197|---|---|---DynamicComponent.ets 198|---|---|---Index.ets // 首页 199|---|---|---PrecompileConfig.ets 200|---|---|---Precompile Webview.ets 201|---resources // 静态资源 202|---ohosTest 203|---|---ets 204|---|---|---tests 205|---|---|---|---Ability.test.ets // 自动化测试用例 206 207entry4/src/main/ 208|---ets 209|---|---entryability 210|---|---|---EntryAbility.ets 211|---|---pages 212|---|---|---BusinessWebview.ets 213|---|---|---DynamicComponent.ets 214|---|---|---Index.ets // 首页 215|---|---|---Inject Webview.ets 216|---|---|---Resource.ets 217|---resources // 静态资源 218|---ohosTest 219|---|---ets 220|---|---|---tests 221|---|---|---|---Ability.test.ets // 自动化测试用例 222``` 223 224 225### 相关权限 226 227[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) 228 229### 依赖 230 231不涉及。 232 233### 约束与限制 234 2351. 本示例仅支持标准系统上运行,支持设备:RK3568。 2362. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。 2373. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。 238 239### 下载 240 241如需单独下载本工程,执行如下命令: 242 243``` 244git init 245git config core.sparsecheckout true 246echo code/DocsSample/ArkWeb/ManageWebPageLoadBrowse/AcceleratePageAccess > .git/info/sparse-checkout 247git remote add origin https://gitee.com/openharmony/applications_app_samples.git 248git pull origin master 249```