• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ArkWeb简介
2<!--Kit: ArkWeb-->
3<!--Subsystem: Web-->
4<!--Owner: @yp99ustc; @aohui; @zourongchun-->
5<!--Designer: @LongLie; @yaomingliu; @zhufenghao-->
6<!--Tester: @ghiker-->
7<!--Adviser: @HelloCrease-->
8
9## 使用场景
10
11ArkWeb(方舟Web)提供了Web组件,用于在应用程序中显示Web页面内容。常见使用场景包括:
12- 应用集成Web页面:应用可以在页面中使用Web组件,嵌入Web页面内容,以降低开发成本,提升开发、运营效率。
13
14- 浏览器网页浏览场景:浏览器类应用可以使用Web组件,打开三方网页,使用无痕模式浏览Web页面,设置广告拦截等。
15
16- 小程序:小程序类宿主应用可以使用Web组件,渲染小程序的页面,实现同层渲染,视频托管等小程序的功能。
17
18## 能力范围
19
20Web组件为开发者提供了丰富的控制Web页面能力。包括:
21
22- Web页面加载:声明式加载Web页面和离屏加载Web页面等。
23
24- 生命周期管理:组件生命周期状态变化,通知Web页面的加载状态变化等。
25
26- 常用属性与事件:User-Agent管理、Cookie与存储管理、字体与深色模式管理、权限管理等。
27
28- 与应用界面交互:自定义文本选择菜单、上下文菜单、文件上传界面等与应用界面交互能力。
29
30- App通过JavaScriptProxy,与Web页面进行JavaScript交互。
31
32- 安全与隐私:无痕浏览模式、广告拦截、坚盾守护模式等。
33
34- 维测能力:[DevTools工具](web-debugging-with-devtools.md)调试能力,使用crashpad收集Web组件崩溃信息。
35
36- 其他高阶能力:与系统组件同层渲染、Web组件的网络托管、Web组件的媒体播放托管、Web组件输入框拉起自定义输入法、<!--RP1--><!--RP1End-->等。
37
38## 需要权限
39
40使用Web组件访问在线网页时需添加网络权限:ohos.permission.INTERNET,具体申请方式请参考[声明权限](../security/AccessToken/declare-permissions.md)。
41
42  ```
43  "requestPermissions":[
44      {
45        "name" : "ohos.permission.INTERNET"
46      }
47    ]
48  ```
49
50## 约束与限制
51
52- 可依据ArkWeb内核版本在相关网站查询W3C标准的支持情况。例如:https://developer.mozilla.org/en-US/https://webassembly.org/features/53
54- Web内核版本:ArkWeb基于谷歌Chromium内核开发,系统版本与Chromium版本的对应关系如表格所示。
55
56  | 系统版本 | Chromium版本 |
57  |  ---|---|
58  | OpenHarmony 4.0及之前 | M99 |
59  | OpenHarmony 4.1-5.1 | M114 |
60  | OpenHarmony 6.0 | M132(默认,推荐使用)<br>M114(可选,若应用需切换为此内核,请参考[M114内核在OpenHarmony6.0系统上的适配指导](https://gitcode.com/openharmony-tpc/chromium_src/blob/132_trunk/web/ReleaseNote/CompatibleWithLegacyWebEngine.md)) |
61
62## 相关实例
63
64针对Web组件开发,有以下相关实例可供参考:
65
66- [Web组件的使用(ArkTS)(API9)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/WebCookie)
67
68- [Web组件抽奖案例(ArkTS)(API9)](https://gitee.com/openharmony/codelabs/tree/master/ETSUI/WebComponent)