• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

entry/06-May-2025-725655

entry1/06-May-2025-639572

entry2/06-May-2025-651591

hvigor/06-May-2025-3836

screenshots/06-May-2025-

.gitignoreD06-May-2025133 1212

README.mdD06-May-20254.7 KiB12989

build-profile.json5D06-May-20251.7 KiB7675

code-linter.json5D06-May-2025958 3534

hvigorfile.tsD06-May-2025843 225

oh-package.json5D06-May-2025834 2624

ohosTest.mdD06-May-20251.4 KiB1912

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```