Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
73a7325a
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
73a7325a
编写于
1月 04, 2023
作者:
Z
zhufenghao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【web】3.2MR需求doc回合monthly_20221018
Signed-off-by:
N
zhufenghao
<
zhufenghao2@huawei.com
>
上级
d85740db
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
1154 addition
and
15 deletion
+1154
-15
zh-cn/application-dev/reference/apis/js-apis-webview.md
zh-cn/application-dev/reference/apis/js-apis-webview.md
+446
-12
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md
...ication-dev/reference/arkui-ts/ts-basic-components-web.md
+708
-3
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-webview.md
浏览文件 @
73a7325a
...
@@ -2338,6 +2338,362 @@ Scroll Test
...
@@ -2338,6 +2338,362 @@ Scroll Test
</html>
</html>
```
```
### getOriginalUrl
getOriginalUrl(): string
获取当前页面的原始url地址。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| ------ | ----------------------- |
| string | 当前页面的原始url地址。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web component. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
getOrgUrl
'
)
.
onClick
(()
=>
{
try
{
let
url
=
this
.
controller
.
getOriginalUrl
();
console
.
log
(
"
original url:
"
+
url
);
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### getFavicon
getFavicon(): image.PixelMap
获取页面的favicon图标。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| -------------------------------------- | ------------------------------- |
|
[
PixelMap
](
js-apis-image.md#pixelmap7
)
| 页面favicon图标的PixelMap对象。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web component. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
import
image
from
"
@ohos.multimedia.image
"
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
@
State
pixelmap
:
image
.
PixelMap
=
undefined
;
build
()
{
Column
()
{
Button
(
'
getFavicon
'
)
.
onClick
(()
=>
{
try
{
this
.
pixelmap
=
this
.
controller
.
getFavicon
();
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### setNetworkAvailable
setNetworkAvailable(enable: boolean): void
设置JavaScript中的window.navigator.onLine属性。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | --------------------------------- |
| enable | boolean | 是 | 是否使能window.navigator.onLine。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web component. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
setNetworkAvailable
'
)
.
onClick
(()
=>
{
try
{
this
.
controller
.
setNetworkAvailable
(
true
);
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### hasImage
hasImage(callback: AsyncCallback
<boolean>
): void
通过Callback方式异步查找当前页面是否存在图像。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | -------------------------- |
| callback | AsyncCallback
\<
boolean> | 是 | 返回查找页面是否存在图像。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web compoent. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
hasImageCb
'
)
.
onClick
(()
=>
{
try
{
this
.
controller
.
hasImage
((
err
,
data
)
=>
{
if
(
error
)
{
console
.
info
(
`hasImage error: `
+
JSON
.
stringify
(
error
))
return
;
}
console
.
info
(
"
hasImage:
"
+
data
);
});
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### hasImage
hasImage(): Promise
<boolean>
通过Promise方式异步查找当前页面是否存在图像。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| ----------------- | --------------------------------------- |
| Promise
\<
boolean> | Promise实例,返回查找页面是否存在图像。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web compoent. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
hasImagePm
'
)
.
onClick
(()
=>
{
try
{
this
.
controller
.
hasImage
().
then
((
data
)
=>
{
console
.
info
(
'
hasImage:
'
+
data
);
})
.
catch
(
function
(
error
)
{
console
.
error
(
"
error:
"
+
error
);
})
}
catch
(
error
)
{
console
.
error
(
`Errorcode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### removeCache
removeCache(clearRom: boolean): void
清除应用中的资源缓存文件,此方法将会清除同一应用中所有webview的缓存文件。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------- | ---- | -------------------------------------------------------- |
| clearRom | boolean | 是 | 设置为true时同时清除rom和ram中的缓存,设置为false时只清除ram中的缓存。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web component. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
removeCache
'
)
.
onClick
(()
=>
{
try
{
this
.
controller
.
removeCache
(
false
);
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### getBackForwardEntries
getBackForwardEntries(): BackForwardList
获取当前Webview的历史信息列表。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | --------------------------- |
|
[
BackForwardList
](
#backforwardlist
)
| 当前Webview的历史信息列表。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------------ |
| 17100001 | Init error. The WebviewController must be associated with a Web component. |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
build
()
{
Column
()
{
Button
(
'
getBackForwardEntries
'
)
.
onClick
(()
=>
{
try
{
let
list
=
this
.
controller
.
getBackForwardEntries
()
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
## WebCookieManager
## WebCookieManager
通过WebCookie可以控制Web组件中的cookie的各种行为,其中每个应用中的所有web组件共享一个WebCookieManager实例。
通过WebCookie可以控制Web组件中的cookie的各种行为,其中每个应用中的所有web组件共享一个WebCookieManager实例。
...
@@ -3966,3 +4322,81 @@ Web组件返回的请求/响应头对象。
...
@@ -3966,3 +4322,81 @@ Web组件返回的请求/响应头对象。
| origin | string | 是 | 否 | 指定源的字符串索引。 |
| origin | string | 是 | 否 | 指定源的字符串索引。 |
| usage | number | 是 | 否 | 指定源的存储量。 |
| usage | number | 是 | 否 | 指定源的存储量。 |
| quota | number | 是 | 否 | 指定源的存储配额。 |
| quota | number | 是 | 否 | 指定源的存储配额。 |
## BackForwardList
当前Webview的历史信息列表。
**系统能力:**
SystemCapability.Web.Webview.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ---------------------------- |
| currentIndex | number | 是 | 否 | 当前页面在页面历史列表中的索引。 |
| size | number | 是 | 否 | 历史列表中索引的数量。 |
### getItemAtIndex
getItemAtIndex(index: number): HistoryItem
获取历史列表中指定索引的历史记录项信息。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------------- |
| index | number | 是 | 指定历史列表中的索引。 |
**返回值:**
| 类型 | 说明 |
| --------------------------- | ------------ |
|
[
HistoryItem
](
#historyitem
)
| 历史记录项。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
;
import
image
from
"
@ohos.multimedia.image
"
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
();
@
State
icon
:
image
.
PixelMap
=
undefined
;
build
()
{
Column
()
{
Button
(
'
getBackForwardEntries
'
)
.
onClick
(()
=>
{
try
{
let
list
=
this
.
controller
.
getBackForwardEntries
();
let
historyItem
=
list
.
getItemAtIndex
(
list
.
currentIndex
);
console
.
log
(
"
HistoryItem:
"
+
JSON
.
stringify
(
historyItem
));
this
.
icon
=
item
.
icon
;
}
catch
(
error
)
{
console
.
error
(
`ErrorCode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
## HistoryItem
页面历史记录项。
**系统能力:**
SystemCapability.Web.Webview.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------- | -------------------------------------- | ---- | ---- | ---------------------------- |
| icon |
[
PixelMap
](
js-apis-image.md#pixelmap7
)
| 是 | 否 | 历史页面图标的PixelMap对象。 |
| historyUrl | string | 是 | 否 | 历史记录项的url地址。 |
| historyRawUrl | string | 是 | 否 | 历史记录项的原始url地址。 |
| title | string | 是 | 否 | 历史记录项的标题。 |
###
\ No newline at end of file
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md
浏览文件 @
73a7325a
...
@@ -774,6 +774,347 @@ webDebuggingAccess(webDebuggingAccess: boolean)
...
@@ -774,6 +774,347 @@ webDebuggingAccess(webDebuggingAccess: boolean)
}
}
```
```
### blockNetwork<sup>9+</sup>
blockNetwork(block: boolean)
设置Web组件是否阻止从网络加载资源。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ----------------------------------- |
| block | boolean | 是 | false | 设置Web组件是否阻止从网络加载资源。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
block
:
boolean
=
true
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
blockNetwork
(
this
.
block
)
}
}
}
```
### defaultFixedFontSize<sup>9+</sup>
defaultFixedFontSize(size: number)
设置网页的默认等宽字体大小。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ---------------------------- |
| size | number | 是 | 13 | 设置网页的默认等宽字体大小,单位px。输入值的范围为-2^31到2^31-1,实际渲染时超过72的值按照72进行渲染,低于1的值按照1进行渲染。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
size
:
number
=
16
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
defaultFixedFontSize
(
this
.
size
)
}
}
}
```
### defaultFontSize<sup>9+</sup>
defaultFontSize(size: number)
设置网页的默认字体大小。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ------------------------ |
| size | number | 是 | 16 | 设置网页的默认字体大小,单位px。输入值的范围为-2^31到2^31-1,实际渲染时超过72的值按照72进行渲染,低于1的值按照1进行渲染。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
size
:
number
=
13
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
defaultFontSize
(
this
.
size
)
}
}
}
```
### minFontSize<sup>9+</sup>
minFontSize(size: number)
设置网页字体大小最小值。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ------------------------ |
| size | number | 是 | 8 | 设置网页字体大小最小值,单位px。输入值的范围为-2^31到2^31-1,实际渲染时超过72的值按照72进行渲染,低于1的值按照1进行渲染。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
size
:
number
=
13
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
minFontSize
(
this
.
size
)
}
}
}
```
### minLogicalFontSize<sup>9+</sup>
minLogicalFontSize(size: number)
设置网页逻辑字体大小最小值。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ------------------------ |
| size | number | 是 | 8 | 设置网页逻辑字体大小最小值,单位px。输入值的范围为-2^31到2^31-1,实际渲染时超过72的值按照72进行渲染,低于1的值按照1进行渲染。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
size
:
number
=
13
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
minLogicalFontSize
(
this
.
size
)
}
}
}
```
### webFixedFont<sup>9+</sup>
webFixedFont(family: string)
设置网页的fixed font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | --------- | ---------------------------- |
| family | string | 是 | monospace | 设置网页的fixed font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
monospace
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webFixedFont
(
this
.
family
)
}
}
}
```
### webSansSerifFont<sup>9+</sup>
webSansSerifFont(family: string)
设置网页的sans serif font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ---------- | --------------------------------- |
| family | string | 是 | sans-serif | 设置网页的sans serif font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
sans-serif
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webSansSerifFont
(
this
.
family
)
}
}
}
```
### webSerifFont<sup>9+</sup>
webSerifFont(family: string)
设置网页的serif font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------ | ---------------------------- |
| family | string | 是 | serif | 设置网页的serif font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
serif
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webSerifFont
(
this
.
family
)
}
}
}
```
### webStandardFont<sup>9+</sup>
webStandardFont(family: string)
设置网页的standard font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ---------- | ------------------------------- |
| family | string | 是 | sans serif | 设置网页的standard font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
sans-serif
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webStandardFont
(
this
.
family
)
}
}
}
```
### webFantasyFont<sup>9+</sup>
webFantasyFont(family: string)
设置网页的fantasy font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------- | ------------------------------ |
| family | string | 是 | fantasy | 设置网页的fantasy font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
fantasy
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webFantasyFont
(
this
.
family
)
}
}
}
```
### webCursiveFont<sup>9+</sup>
webCursiveFont(family: string)
设置网页的cursive font字体库。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ------ | -------- | ---- | ------- | ------------------------------ |
| family | string | 是 | cursive | 设置网页的cursive font字体库。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
family
:
string
=
"
cursive
"
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
webCursiveFont
(
this
.
family
)
}
}
}
```
## 事件
## 事件
不支持通用事件。
不支持通用事件。
...
@@ -1843,7 +2184,7 @@ onPermissionRequest(callback: (event?: { request: PermissionRequest }) => void)
...
@@ -1843,7 +2184,7 @@ onPermissionRequest(callback: (event?: { request: PermissionRequest }) => void)
onContextMenuShow(callback: (event?: { param: WebContextMenuParam, result: WebContextMenuResult }) => boolean)
onContextMenuShow(callback: (event?: { param: WebContextMenuParam, result: WebContextMenuResult }) => boolean)
长按特定元素(例如图片,链接),跳出菜单。
长按特定元素(例如图片,链接)
或鼠标右键
,跳出菜单。
**参数:**
**参数:**
...
@@ -2161,6 +2502,181 @@ onSearchResultReceive(callback: (event?: {activeMatchOrdinal: number, numberOfMa
...
@@ -2161,6 +2502,181 @@ onSearchResultReceive(callback: (event?: {activeMatchOrdinal: number, numberOfMa
}
}
```
```
### onDataResubmitted<sup>9+</sup>
onDataResubmitted(callback: (event: {handler: DataResubmissionHandler}) => void)
设置网页表单可以重新提交时触发的回调函数。
**参数:**
| 参数名 | 参数类型 | 参数描述 |
| ------- | ---------------------------------------------------- | ---------------------- |
| handler |
[
DataResubmissionHandler
](
#dataresubmissionhandler9
)
| 表单数据重新提交句柄。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onDataResubmitted
((
event
)
=>
{
console
.
log
(
'
onDataResubmitted
'
)
event
.
handler
.
resend
();
})
}
}
}
```
### onPageVisible<sup>9+</sup>
onPageVisible(callback: (event: {url: string}) => void)
设置旧页面不再呈现,新页面即将可见时触发的回调函数。
**参数:**
| 参数名 | 参数类型 | 参数描述 |
| ------ | -------- | ------------------------------------------------- |
| url | string | 旧页面不再呈现,新页面即将可见时新页面的url地址。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onPageVisible
((
event
)
=>
{
console
.
log
(
'
onPageVisible url:
'
+
event
.
url
)
})
}
}
}
```
### onInterceptKeyEvent<sup>9+</sup>
onInterceptKeyEvent(callback: (event: KeyEvent) => boolean)
设置键盘事件的回调函数,该回调在被Webview消费前触发。
**参数:**
| 参数名 | 参数类型 | 参数描述 |
| ------ | ------------------------------------------------------- | -------------------- |
| event |
[
KeyEvent
](
ts-universal-events-key.md#keyevent对象说明
)
| 触发的KeyEvent事件。 |
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------------------------------------------ |
| boolean | 回调函数通过返回boolean类型值来决定是否继续将该KeyEvent传入Webview内核。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onInterceptKeyEvent
((
event
)
=>
{
if
(
event
.
keyCode
==
2017
||
event
.
keyCode
==
2018
)
{
console
.
info
(
`onInterceptKeyEvent get event.keyCode
${
event
.
keyCode
}
`
)
return
true
;
}
return
false
;
})
}
}
}
```
### onTouchIconUrlReceived<sup>9+</sup>
onTouchIconUrlReceived(callback: (event: {url: string, precomposed: boolean}) => void)
设置接收到apple-touch-icon url地址时的回调函数。
**参数:**
| 参数名 | 参数类型 | 参数描述 |
| ----------- | -------- | ---------------------------------- |
| url | string | 接收到的apple-touch-icon url地址。 |
| precomposed | boolean | 对应apple-touch-icon是否为预合成。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.baidu.com
'
,
controller
:
this
.
controller
})
.
onTouchIconUrlReceived
((
event
)
=>
{
console
.
log
(
'
onTouchIconUrlReceived:
'
+
JSON
.
stringify
(
event
))
})
}
}
}
```
### onFaviconReceived<sup>9+</sup>
onFaviconReceived(callback: (event: {favicon: image.PixelMap}) => void)
设置应用为当前页面接收到新的favicon时的回调函数。
**参数:**
| 参数名 | 参数类型 | 参数描述 |
| ------- | ---------------------------------------------- | ----------------------------------- |
| favicon |
[
PixelMap
](
../apis/js-apis-image.md#pixelmap7
)
| 接收到的favicon图标的PixelMap对象。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
import
image
from
"
@ohos.multimedia.image
"
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
@
State
icon
:
image
.
PixelMap
=
undefined
;
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onFaviconReceived
((
event
)
=>
{
console
.
log
(
'
onFaviconReceived:
'
+
JSON
.
stringify
(
event
))
this
.
icon
=
event
.
favicon
;
})
}
}
}
```
## ConsoleMessage
## ConsoleMessage
Web组件获取控制台信息对象。示例代码参考
[
onConsole事件
](
#onconsole
)
。
Web组件获取控制台信息对象。示例代码参考
[
onConsole事件
](
#onconsole
)
。
...
@@ -2717,9 +3233,44 @@ grant(resources: Array\<string\>): void
...
@@ -2717,9 +3233,44 @@ grant(resources: Array\<string\>): void
| --------- | --------------- | ---- | ---- | ------------- |
| --------- | --------------- | ---- | ---- | ------------- |
| resources | Array
\<
string
\>
| 是 | - | 网页所请求的权限资源列表。 |
| resources | Array
\<
string
\>
| 是 | - | 网页所请求的权限资源列表。 |
## ContextMenuSourceType<sup>9+</sup>枚举说明
| 名称 | 描述 |
| -------------------- | ---------- |
| None | 其他事件来源。 |
| Mouse | 鼠标事件。 |
| LongPress | 长按事件。 |
## ContextMenuMediaType<sup>9+</sup>枚举说明
| 名称 | 描述 |
| ------------ | ----------- |
| None | 非特殊媒体或其他媒体类型。 |
| Image | 图片。 |
## ContextMenuInputFieldType<sup>9+</sup>枚举说明
| 名称 | 描述 |
| ------------ | ----------- |
| None | 非输入框。 |
| PlainText | 纯文本类型,包括text、search、email等。 |
| Password | 密码类型。 |
| Number | 数字类型。 |
| Telephone | 电话号码类型。 |
| Other | 其他类型。 |
## ContextMenuEditStateFlags<sup>9+</sup>枚举说明
| 名称 | 描述 |
| ------------ | ----------- |
| NONE | 不可编辑。 |
| CAN_CUT | 支持剪切。 |
| CAN_COPY | 支持拷贝。 |
| CAN_PASTE | 支持粘贴。 |
| CAN_SELECT_ALL | 支持全选。 |
## WebContextMenuParam<sup>9+</sup>
## WebContextMenuParam<sup>9+</sup>
实现长按页面元素
跳
出来的菜单信息。示例代码参考
[
onContextMenuShow事件
](
#oncontextmenushow9
)
。
实现长按页面元素
或鼠标右键弹
出来的菜单信息。示例代码参考
[
onContextMenuShow事件
](
#oncontextmenushow9
)
。
### x<sup>9+</sup>
### x<sup>9+</sup>
...
@@ -2793,9 +3344,81 @@ existsImageContents(): boolean
...
@@ -2793,9 +3344,81 @@ existsImageContents(): boolean
| ------- | ------------------------- |
| ------- | ------------------------- |
| boolean | 长按位置中有图片返回true,否则返回false。 |
| boolean | 长按位置中有图片返回true,否则返回false。 |
### getMediaType<sup>9+</sup>
getMediaType(): ContextMenuMediaType
获取网页元素媒体类型。
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ----------- |
|
[
ContextMenuMediaType
](
#contextmenumediatype9枚举说明
)
| 网页元素媒体类型。 |
### getSelectionText<sup>9+</sup>
getSelectionText(): string
获取选中文本。
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------- |
| string | 菜单上下文选中文本内容,不存在则返回空。 |
### getSourceType<sup>9+</sup>
getSourceType(): ContextMenuSourceType
获取菜单事件来源。
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ----------- |
|
[
ContextMenuSourceType
](
#contextmenusourcetype9枚举说明
)
| 菜单事件来源。 |
### getInputFieldType<sup>9+</sup>
getInputFieldType(): ContextMenuInputFieldType
获取网页元素输入框类型。
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ----------- |
|
[
ContextMenuInputFieldType
](
#contextmenuinputfieldtype9枚举说明
)
| 输入框类型。 |
### isEditable<sup>9+</sup>
isEditable(): boolean
获取网页元素是否可编辑标识。
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------- |
| boolean | 网页元素可编辑返回true,不可编辑返回false。 |
### getEditStateFlags<sup>9+</sup>
getEditStateFlags(): number
获取网页元素可编辑标识。
**返回值:**
| 类型 | 说明 |
| ------- | ------------------------- |
| number | 网页元素可编辑标识,参照
[
ContextMenuEditStateFlags
](
#contextmenueditstateflags9枚举说明
)
。 |
## WebContextMenuResult<sup>9+</sup>
## WebContextMenuResult<sup>9+</sup>
实现长按页面元素
跳
出来的菜单所执行的响应事件。示例代码参考
[
onContextMenuShow事件
](
#oncontextmenushow9
)
。
实现长按页面元素
或鼠标右键弹
出来的菜单所执行的响应事件。示例代码参考
[
onContextMenuShow事件
](
#oncontextmenushow9
)
。
### closeContextMenu<sup>9+</sup>
### closeContextMenu<sup>9+</sup>
...
@@ -2809,6 +3432,30 @@ copyImage(): void
...
@@ -2809,6 +3432,30 @@ copyImage(): void
WebContextMenuParam有图片内容则复制图片。
WebContextMenuParam有图片内容则复制图片。
### copy<sup>9+</sup>
copy(): void
执行与此上下文菜单相关的拷贝操作。
### paste<sup>9+</sup>
paste(): void
执行与此上下文菜单相关的粘贴操作。
### cut<sup>9+</sup>
cut(): void
执行与此上下文菜单相关的剪切操作。
### selectAll<sup>9+</sup>
selectAll(): void
执行与此上下文菜单相关的全选操作。
## JsGeolocation
## JsGeolocation
Web组件返回授权或拒绝权限功能的对象。示例代码参考
[
onGeolocationShow事件
](
#ongeolocationshow
)
。
Web组件返回授权或拒绝权限功能的对象。示例代码参考
[
onGeolocationShow事件
](
#ongeolocationshow
)
。
...
@@ -5772,3 +6419,61 @@ setPorts(ports: Array\<WebMessagePort\>): void
...
@@ -5772,3 +6419,61 @@ setPorts(ports: Array\<WebMessagePort\>): void
}
}
}
}
```
```
## DataResubmissionHandler<sup>9+</sup>
通过DataResubmissionHandler可以重新提交表单数据或取消提交表单数据。
### resend<sup>9+</sup>
resend(): void
重新发送表单数据。
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onDataResubmitted
((
event
)
=>
{
console
.
log
(
'
onDataResubmitted
'
)
event
.
handler
.
resend
();
})
}
}
}
```
### cancel<sup>9+</sup>
cancel(): void
取消重新发送表单数据。
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
web_webview
.
WebviewController
=
new
web_webview
.
WebviewController
()
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
.
onDataResubmitted
((
event
)
=>
{
console
.
log
(
'
onDataResubmitted
'
)
event
.
handler
.
cancel
();
})
}
}
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录