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)