• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Interfaces (其他)
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>
11> - 本模块首批接口从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
12>
13> - 示例效果请以真机运行为准,当前DevEco Studio预览器不支持。
14
15## WebStorageOrigin
16
17提供Web SQL数据库的使用信息。
18
19**系统能力:** SystemCapability.Web.Webview.Core
20
21| 名称   | 类型   | 只读 | 可选 | 说明 |
22| ------ | ------ | ---- | ---- | ---- |
23| origin | string | 否  | 否 | 指定源的字符串索引。 |
24| usage  | number | 否  | 否 | 指定源的存储量。     |
25| quota  | number | 否  | 否 | 指定源的存储配额。   |
26
27## WebHeader
28
29Web组件返回的请求/响应头对象。
30
31**系统能力:** SystemCapability.Web.Webview.Core
32
33| 名称        | 类型   | 只读 | 可选 |说明                 |
34| ----------- | ------ | -----|------|------------------- |
35| headerKey   | string | 否 | 否 | 请求/响应头的key。   |
36| headerValue | string | 否 | 否 | 请求/响应头的value。 |
37
38## WebCustomScheme
39
40自定义协议配置。
41
42**系统能力:** SystemCapability.Web.Webview.Core
43
44| 名称           | 类型       | 只读 | 可选 | 说明                         |
45| -------------- | --------- | ---- | ---- | ---------------------------- |
46| schemeName     | string    | 否   | 否   | 自定义协议名称。最大长度为32,其字符仅支持小写字母、数字、'.'、'+'、'-',同时需要以字母开头。        |
47| isSupportCORS  | boolean   | 否   | 否   | 是否支持跨域请求。<br>true表示支持跨域请求,false表示不支持跨域请求。<br>默认值:true。    |
48| isSupportFetch | boolean   | 否   | 否   | 是否支持fetch请求。<br>true表示支持fetch请求,false表示不支持fetch请求。<br>默认值:true。           |
49| isStandard<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme是否将作为标准scheme进行处理。标准scheme需要符合RFC 1738第3.1节中定义的URL规范化和解析规则。<br>true表示设置了该选项的scheme将作为标准scheme进行处理,false表示设置了该选项的scheme不作为标准scheme进行处理。<br>默认值:true。           |
50| isLocal<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme是否将使用与“file”协议相同的安全规则来处理。<br>true表示设置了该选项的scheme将使用与“file”协议相同的安全规则来处理,false表示设置了该选项的scheme不使用与“file”协议相同的安全规则来处理。<br>默认值:true。           |
51| isDisplayIsolated<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme的内容是否只能从相同scheme的其他内容中显示或访问。<br>true表示设置了该选项的scheme的内容只能从相同scheme的其他内容中显示或访问,false表示设置了该选项的scheme的内容不是只能从相同scheme的其他内容中显示或访问。<br>默认值:true。           |
52| isSecure<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme是否将使用与应用于“https”的安全规则相同的安全规则来处理。true表示设置了该选项的scheme将使用与应用于“https”的安全规则相同的安全规则来处理,false表示设置了该选项的scheme不使用与应用于“https”的安全规则相同的安全规则来处理。<br>默认值:true。           |
53| isCspBypassing<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme可以绕过内容安全策略(CSP)检查。<br>true表示设置了该选项的scheme可以绕过内容安全策略(CSP)检查,false表示设置了该选项的scheme不可以绕过内容安全策略(CSP)检查。<br>默认值:true。<br>在大多数情况下,当设置isStandard为true时,不应设置此值。         |
54| isCodeCacheSupported<sup>12+</sup> | boolean   | 否   | 是   | 设置了该选项的scheme的js资源是否支持生成code cache。<br>true表示设置了该选项的scheme的js资源支持生成code cache,false表示设置了该选项的scheme的js资源不支持生成code cache。<br>默认值:false。         |
55
56## RequestInfo<sup>12+</sup>
57
58Web组件发送的资源请求信息。
59
60**系统能力:**: SystemCapability.Web.Webview.Core
61
62| 名称      | 类型   | 只读 | 可选 |说明        |
63| ---------| ------ | -----|------|--------  |
64| url      | string | 否 | 否 | 请求的链接。    |
65| method   | string | 否 | 否 | 请求的方法。    |
66| formData | string | 否 | 否 | 请求的表单数据。 |
67
68## CacheOptions<sup>12+</sup>
69
70Web组件预编译JavaScript生成字节码缓存的配置对象,用于控制字节码缓存更新。
71
72**系统能力:** SystemCapability.Web.Webview.Core
73
74| 名称        | 类型   | 只读 | 可选 |说明                 |
75| ----------- | ------ | -----|------|------------------- |
76| responseHeaders   | Array<[WebHeader](#webheader)> | 否 | 否 | 请求此JavaScript文件时服务器返回的响应头,使用E-Tag或Last-Modified标识文件版本,判断是否需要更新。   |
77
78## SnapshotInfo<sup>12+</sup>
79
80获取全量绘制结果入参。
81
82**系统能力:** SystemCapability.Web.Webview.Core
83
84| 名称 | 类型 |  只读 |  可选 | 说明 |
85|------|------|------|------|------|
86| id | string | 否 | 是 | snapshot的id。|
87| size | [SizeOptions](../apis-arkui/arkui-ts/ts-types.md#sizeoptions)  | 否 | 是 | web绘制的尺寸,最多支持16000px * 16000px,长度单位支持px、vp、%,需保持不同参数传入长度单位一致,默认单位vp,超过规格时返回最大规格。(示例:width:'100px',height:'200px'。或者 width:'20%',height:'30%'。只写数字时单位为vp。)|
88
89## SnapshotResult<sup>12+</sup>
90
91全量绘制回调结果。
92
93**系统能力:** SystemCapability.Web.Webview.Core
94
95| 名称 | 类型 | 只读 | 可选 |  说明 |
96|------|------|-- |--|---------|
97| id | string | 否 | 是 | snapshot的id。|
98| status | boolean | 否 | 是 |  snapshot的状态,正常为true,失败为false,获取全量绘制结果失败,返回size的长宽都为0,map为空。|
99| size | [SizeOptions](../apis-arkui/arkui-ts/ts-types.md#sizeoptions)   | 否 | 是 | web绘制的真实尺寸,number类型,单位vp。|
100| imagePixelMap | [image.PixelMap](../apis-image-kit/arkts-apis-image-PixelMap.md) | 否 | 是 | 全量绘制结果为image.PixelMap格式。|
101
102## OfflineResourceMap<sup>12+</sup>
103
104本地离线资源配置对象,用于配置将被[injectOfflineResources](./arkts-apis-webview-WebviewController.md#injectofflineresources12)接口注入到内存缓存的本地离线资源的相关信息,内核会根据此信息生成资源缓存,并据此控制缓存的有效期。
105
106**系统能力:** SystemCapability.Web.Webview.Core
107
108| 名称        | 类型   | 只读 | 可选 |说明                 |
109| ----------- | ------ | -----|------|------------------- |
110| urlList | Array\<string\> | 否   | 否   | 本地离线资源对应的网络地址列表,列表的第一项将作为资源的源(Origin),如果仅提供一个网络地址,则使用该地址作为这个资源的源。url仅支持http或https协议,长度不超过2048。      |
111| resource | Uint8Array | 否   | 否   | 本地离线资源的内容。      |
112| responseHeaders | Array<[WebHeader](#webheader)> | 否   | 否   | 资源对应的HTTP响应头。其中提供的Cache-Control或Expires响应头将被用于控制资源在内存缓存中的有效期。如果不提供,默认的有效期为86400秒,即1天。其中提供的Content-Type响应头将被用于定义资源的MIMEType,MODULE_JS必须提供有效的MIMEType,其他类型可不提供,无默认值,不符合标准的MIMEType会导致内存缓存失效。如果业务网页中的script标签使用了crossorigin属性,则必须在接口的responseHeaders参数中设置Cross-Origin响应头的值为anonymous或use-credentials。      |
113| type | [OfflineResourceType](./arkts-apis-webview-e.md#offlineresourcetype12) | 否   | 否   | 资源的类型,目前仅支持Javascript、图片和CSS类型的资源。      |
114
115##  PdfConfiguration<sup>14+</sup>
116
117createPdf函数输入参数。
118
119> **说明:**
120>
121> 英寸与像素之间转换公式:像素 = 96 * 英寸。
122
123**系统能力:** SystemCapability.Web.Webview.Core
124
125| 名称        | 类型   | 只读 | 可选 |说明                 |
126| ----------- | ------ | -----|------|------------------- |
127| width                 | number  | 否 | 否   | 页面宽度。<br>单位:英寸。<br />推荐值:A4纸页面宽度8.27英寸。   |
128| height                | number  | 否 | 否   | 页面高度。<br>单位:英寸。<br />推荐值:A4纸页面高度11.69英寸。  |
129| scale                 | number  | 否 | 是   | 放大倍数。<br>取值范围:[0.0, 2.0]。如果不在取值范围内,小于0.0设置为0.0,大于2.0设置为2.0。<br>默认值:1.0。 |
130| marginTop             | number  | 否 | 否   | 上边距。<br>取值范围:[0.0, 页面高度的一半)。如果不在取值范围内,则设置为0.0。<br>单位:英寸。 |
131| marginBottom          | number  | 否 | 否   | 下边距。<br>取值范围:[0.0, 页面高度的一半)。如果不在取值范围内,则设置为0.0。<br>单位:英寸。 |
132| marginRight           | number  | 否 | 否   | 右边距。<br>取值范围:[0.0, 页面宽度的一半)。如果不在取值范围内,则设置为0.0。<br>单位:英寸。 |
133| marginLeft            | number  | 否 | 否   | 左边距。<br>取值范围:[0.0, 页面宽度的一半)。如果不在取值范围内,则设置为0.0。<br>单位:英寸。 |
134| shouldPrintBackground | boolean | 否 | 是   | true表示打印背景颜色,false表示不打印背景颜色。<br>默认值:false。                            |
135
136## ScrollOffset<sup>13+</sup>
137
138网页当前的滚动偏移量。
139
140**系统能力:** SystemCapability.Web.Webview.Core
141
142| 名称 | 类型   | 只读 | 可选 | 说明                                                         |
143| ---- | ------ | ---- | ---- | ------------------------------------------------------------ |
144| x    | number | 否   | 否   | 网页在水平方向的滚动偏移量。取值为网页左边界x坐标与Web组件左边界x坐标的差值。<br/>当网页向右过滚动时,取值范围为负值。<br/>当网页没有过滚动或者网页向左过滚动时,取值为0或正值。<br/>单位:vp。 |
145| y    | number | 否   | 否   | 网页在垂直方向的滚动偏移量。取值为网页上边界y坐标与Web组件上边界y坐标的差值。<br/>当网页向下过滚动时,取值范围为负值。<br/>当网页没有过滚动或者网页向上过滚动时,取值为0或正值。<br/>单位:vp。 |
146
147## HitTestValue
148
149提供点击区域的元素信息。示例代码参考[getLastHitTest](./arkts-apis-webview-WebviewController.md#getlasthittest18)。
150
151**系统能力:** SystemCapability.Web.Webview.Core
152
153| 名称 | 类型 | 只读 | 可选 | 说明|
154| ---- | ---- | ---- | ---- |---- |
155| type | [WebHitTestType](./arkts-apis-webview-e.md#webhittesttype) | 否 | 否 | 当前被点击区域的元素类型。|
156| extra | string        | 否 | 否 |点击区域的附加参数信息。若被点击区域为图片或链接,则附加参数信息为其url地址。 |
157
158## ControllerAttachState<sup>20+</sup>
159
160WebViewController与Web组件的绑定状态。
161
162**系统能力:** SystemCapability.Web.Webview.Core
163
164| 名称 | 值 | 说明 |
165| ------------------------------- | - | ---------- |
166| UNATTACHED | 0 | 未绑定状态。 |
167| ATTACHED   | 1 | 已绑定状态。 |
168
169## BlanklessInfo<sup>20+</sup>
170
171页面首屏加载预测信息,主要包括首屏相似度预测值,首屏加载耗时预测值,预测错误码,应用需根据此信息来决策是否启用无白屏加载插帧方案。
172
173**系统能力:** SystemCapability.Web.Webview.Core
174
175| 名称        | 类型   | 只读 | 可选 |说明                 |
176| ----------- | ------ | -----|------|------------------- |
177| errCode | WebBlanklessErrorCode | 否   | 否   | 无白屏加载的异常错误码,见[WebBlanklessErrorCode](./arkts-apis-webview-e.md#webblanklesserrorcode20)定义。 |
178| similarity | number | 否   | 否   | 首屏相似度,根据历史加载首屏内容计算相似度,范围为0~1.0,1.0表示完全一致,数值越接近1,相似度越高。该值存在滞后性,本地加载的相似性将在下次加载时才可反映。建议当相似度较低时,应用不启用无白屏加载插帧方案。 |
179| loadingTime | number | 否   | 否   | 根据历史加载首屏耗时预测本次加载耗时,单位ms,取值范围需大于0。 |
180
181## HistoryItem
182
183页面历史记录项。
184
185**系统能力:** SystemCapability.Web.Webview.Core
186
187| 名称          | 类型                                   | 只读 | 可选 | 说明                         |
188| ------------- | -------------------------------------- | ---- | ---- | ---------------------------- |
189| icon          | [image.PixelMap](../apis-image-kit/arkts-apis-image-PixelMap.md) | 否   | 否   | 历史页面图标的PixelMap对象。 |
190| historyUrl    | string                                 | 否   | 否   | 历史记录项的url地址。        |
191| historyRawUrl | string                                 | 否   | 否   | 历史记录项的原始url地址。    |
192| title         | string                                 | 否   | 否   | 历史记录项的标题。           |
193
194## MediaInfo<sup>12+<sup>
195
196[CreateNativeMediaPlayerCallback](./arkts-apis-webview-t.md#createnativemediaplayercallback12)回调函数的一个参数。
197包含了网页中媒体的信息。应用可以根据这些信息来创建接管网页媒体播放的播放器。
198
199**系统能力:** SystemCapability.Web.Webview.Core
200
201| 名称 | 类型 | 只读 | 可选 | 说明 |
202|------|------|------|------|------|
203| embedID | string | 否 | 否  | 网页中的 `<video>` 或 `<audio>` 的 ID 。|
204| mediaType | [MediaType](./arkts-apis-webview-e.md#mediatype12) | 否 | 否 | 媒体的类型。 |
205| mediaSrcList | [MediaSourceInfo](./arkts-apis-webview-MediaSourceInfo.md)[] | 否 | 否 | 媒体的源。可能有多个源,应用需要选择一个支持的源来播放。 |
206| surfaceInfo | [NativeMediaPlayerSurfaceInfo](./arkts-apis-webview-NativeMediaPlayerSurfaceInfo.md) | 否 | 否 | 用于同层渲染的 surface 信息。 |
207| controlsShown | boolean | 否 | 否 | `<video>` 或 `<audio>` 中是否有 `controls`属性。<br>true表示有,false表示没有。 |
208| controlList | string[] | 否 | 否 | `<video>` 或 `<audio>` 中的 `controlslist` 属性的值。 |
209| muted | boolean | 否 | 否 | 是否要求静音播放。<br>true表示静音播放,false表示未静音播放。 |
210| posterUrl | string | 否 | 否 | 海报的地址。 |
211| preload | [Preload](./arkts-apis-webview-e.md#preload12) | 否 | 否 | 是否需要预加载。 |
212| headers | Record\<string, string\> | 否 | 否 | 播放器请求媒体资源时,需要携带的 HTTP 头。 |
213| attributes | Record\<string, string\> | 否 | 否 | `<video>` 或 `<audio>` 标签中的属性。 |
214
215## RectEvent<sup>12+<sup>
216
217矩形定义。
218
219**系统能力:** SystemCapability.Web.Webview.Core
220
221| 名称           | 类型       | 只读 | 可选 | 说明                         |
222| -------------- | --------- | ---- | ---- | ---------------------------- |
223| x  | number   | 否   | 否   | 矩形区域左上角x坐标。    |
224| y  | number   | 否   | 否   | 矩形区域左上角y坐标。    |
225| width  | number   | 否   | 否   | 矩形的宽度。 <br>单位:px   |
226| height | number   | 否   | 否   | 矩形的高度。 <br>单位:px   |
227