| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 725 | 655 | ||
| entry1/ | 06-May-2025 | - | 639 | 572 | ||
| entry2/ | 06-May-2025 | - | 651 | 591 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README.md | D | 06-May-2025 | 4.7 KiB | 129 | 89 | |
| build-profile.json5 | D | 06-May-2025 | 1.7 KiB | 76 | 75 | |
| code-linter.json5 | D | 06-May-2025 | 958 | 35 | 34 | |
| hvigorfile.ts | D | 06-May-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 834 | 26 | 24 | |
| ohosTest.md | D | 06-May-2025 | 1.4 KiB | 19 | 12 |
README.md
1# 使用离线Web组件 2 3### 介绍 4 51. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/web/web-offline-mode.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。 6 7### Entry: 8 9#### CreatingOfflineWebComponents 10 11##### 介绍 12 131. 本示例主要介绍使用离线Web组件加载显示页面。在需要离屏创建Web组件时,定义一个自定义组件以封装Web组件,此Web组件在离线状态下被创建,封装于无状态的NodeContainer节点中,并与相应的NodeController组件绑定。Web组件在后台预渲染完毕后,当需要展示时,通过NodeController将其挂载到ViewTree的NodeContainer中,即与对应的NodeContainer组件绑定,即可挂载上树并显示。 14 15##### 效果预览 16 17| 主页 | 18| ------------------------------------------------------------ | 19| <img src="./screenshots/CreatingOfflineWebComponents.png" width="360;" /> | 20 21使用说明 22 231. Index.ets通过getNWeb从NodeMap获取myNodeController,将其传入NodeContainer,实现动态组件在页面的显示。 24 25### Entry1: 26 27#### PreLaunchingRenderingProcess_one 28 29##### 介绍 30 311. 本示例主要介绍预启动ArkWeb渲染进程。在后台预先创建一个Web组件,以启动用于渲染的Web渲染进程,这样可以节省后续Web组件加载时启动Web渲染进程所需的时间。 32 33##### 效果预览 34 35| 主页 | 跳转页 | 36| ------------------------------------------------------------ | ------------------------------------------------------------ | 37| <img src="./screenshots/PreLaunchingRenderingProcess_one_1.png" width="360;" /> | <img src="./screenshots/PreLaunchingRenderingProcess_one_2.png" width="360;" /> | 38 39使用说明 40 411. 在onWindowStageCreate时期预创建了一个Web组件加载blank页面,从而提前启动了Render进程,从index跳转到index2时,优化了Web的Render进程启动和初始化的耗时。 421. 点击跳转到web页面按钮跳转到Web页面。 43 44### Entry2: 45 46#### PreLaunchingRenderingProcess_two 47 48##### 介绍 49 501. 本示例主要介绍使用预渲染Web页面。预预渲染Web页面优化方案适用于Web页面启动和跳转场景,例如,进入首页后,跳转到子页。建议在高命中率的页面使用该方案。渲染Web页面的实现方案是提前创建离线Web组件,并设置Web为Active状态来开启渲染引擎,进行后台渲染。 51 52##### 效果预览 53 54| 主页 | 跳转页面 | 55| ------------------------------------------------------------ | ------------------------------------------------------------ | 56| <img src="./screenshots/PreLaunchingRenderingProcess_two_1.png" width="360;" /> | <img src="./screenshots/PreLaunchingRenderingProcess_two_2.png" width="360;" /> | 57 58使用说明 59 601. 点击跳转到web页面按钮跳转到Web页面。 61 62### 工程目录 63 64``` 65entry/src/main/ 66|---ets 67|---|---entryability 68|---|---|---EntryAbility.ets 69|---|---pages 70|---|---|---common.ets 71|---|---|---Index.ets // 首页 72|---|---|---index2.ets 73|---resources // 静态资源 74|---ohosTest 75|---|---ets 76|---|---|---tests 77|---|---|---|---Ability.test.ets // 自动化测试用例 78 79entry1/src/main/ 80|---ets 81|---|---entry1ability 82|---|---|---Entry1Ability.ets 83|---|---pages 84|---|---|---Index.ets // 首页 85|---resources // 静态资源 86|---ohosTest 87|---|---ets 88|---|---|---tests 89|---|---|---|---Ability.test.ets // 自动化测试用例 90 91entry2/src/main/ 92|---ets 93|---|---entry2ability 94|---|---|---Entry2Ability.ets 95|---|---pages 96|---|---|---Index.ets // 首页 97|---resources // 静态资源 98|---ohosTest 99|---|---ets 100|---|---|---tests 101|---|---|---|---Ability.test.ets // 自动化测试用例 102``` 103 104 105### 相关权限 106 107[ohos.permission.INTERNET](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/permissions-for-all.md#ohospermissioninternet) 108 109### 依赖 110 111不涉及。 112 113### 约束与限制 114 1151. 本示例仅支持标准系统上运行,支持设备:RK3568。 1162. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。 1173. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。 118 119### 下载 120 121如需单独下载本工程,执行如下命令: 122 123``` 124git init 125git config core.sparsecheckout true 126echo code/DocsSample/ArkWeb/UseOfflineWebComp > .git/info/sparse-checkout 127git remote add origin https://gitee.com/openharmony/applications_app_samples.git 128git pull origin master 129```