Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
917bbe3a
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
917bbe3a
编写于
11月 28, 2022
作者:
L
laosan_ted
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix webview problems
Signed-off-by:
N
laosan_ted
<
wangruichang@huawei.com
>
上级
5aeee4a2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
171 addition
and
36 deletion
+171
-36
zh-cn/application-dev/reference/apis/js-apis-webview.md
zh-cn/application-dev/reference/apis/js-apis-webview.md
+171
-36
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-webview.md
浏览文件 @
917bbe3a
...
...
@@ -72,7 +72,7 @@ postMessageEvent(message: string): void
| ------- | ------ | ---- | :------------- |
| message | string | 是 | 要发送的消息。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -122,9 +122,9 @@ onMessageEvent(callback: (result: string) => void): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | ---- | :------------------- |
|
callback | function | 是 | 接收消息的回调函数
。 |
|
result | string | 是 | 接收到的消息
。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -198,10 +198,10 @@ loadUrl(url: string | Resource, headers?: Array\<HeaderV9>): void
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ---------------- | ---- | :-------------------- |
| url | string
| 是 | 需要加载的 URL。 |
| url | string
\|
Resource
| 是 | 需要加载的 URL。 |
| headers | Array
\<
[
HeaderV9
](
#headerv9
)
> | 否 | URL的附加HTTP请求头。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -254,9 +254,9 @@ loadData(data: string, mimeType: string, encoding: string, baseUrl?: string, his
| mimeType | string | 是 | 媒体类型(MIME)。 |
| encoding | string | 是 | 编码类型,具体为“Base64"或者”URL编码。 |
| baseUrl | string | 否 | 指定的一个URL路径(“http”/“https”/"data"协议),并由Web组件赋值给window.origin。 |
| historyUrl | string | 否 |
历史记录URL。非空时,可被历史记录管理,实现前进后退功能
。当baseUrl为空时,此属性无效。 |
| historyUrl | string | 否 |
用作历史记录所使用的URL。非空时,历史记录以此URL进行管理
。当baseUrl为空时,此属性无效。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -310,7 +310,7 @@ accessForward(): boolean
| ------- | --------------------------------- |
| boolean | 可以前进返回true,否则返回false。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -354,7 +354,7 @@ forward(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -447,7 +447,7 @@ backward(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -805,6 +805,14 @@ struct Index {
build
()
{
Column
()
{
Button
(
'
refresh
'
)
.
onClick
(()
=>
{
try
{
this
.
controller
.
refresh
();
}
catch
(
error
)
{
console
.
error
(
`Errorcode:
${
error
.
code
}
, Message:
${
error
.
message
}
`
);
}
})
Button
(
'
Register JavaScript To Window
'
)
.
onClick
(()
=>
{
try
{
...
...
@@ -833,7 +841,7 @@ runJavaScript(script: string, callback : AsyncCallback\<string>): void
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------- | ---- | ---------------------------- |
| script | string | 是 | JavaScript脚本。 |
| callback | AsyncCallback
\<
string> |
否
| 回调执行JavaScript脚本结果。JavaScript脚本若执行失败或无返回值时,返回null。 |
| callback | AsyncCallback
\<
string> |
是
| 回调执行JavaScript脚本结果。JavaScript脚本若执行失败或无返回值时,返回null。 |
**错误码:**
...
...
@@ -1059,9 +1067,9 @@ searchAllAsync(searchString: string): void
**参数:**
| 参数名 |
参数类型 | 必填 | 默认值 | 参数描述
|
| ------------ | -------- | ---- | ------
| ------
-------- |
| searchString | string | 是 |
- |
查找的关键字。 |
| 参数名 |
类型 | 必填 | 说明
|
| ------------ | -------- | ---- | -------------- |
| searchString | string | 是 | 查找的关键字。 |
**错误码:**
...
...
@@ -1295,7 +1303,7 @@ struct WebComponent {
| ---------------------- | ----------------- |
| Array
\<
WebMessagePort> | web消息端口列表。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1348,7 +1356,7 @@ postMessage(name: string, ports: Array\<WebMessagePort>, uri: string): void
| ports | Array
\<
WebMessagePort> | 是 | 接收该消息的URI。 |
| uri | string | 是 | 接收该消息的URI。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1472,7 +1480,7 @@ requestFocus(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1515,7 +1523,7 @@ zoomIn(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1559,7 +1567,7 @@ zoomOut(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1609,7 +1617,7 @@ getHitTestValue(): HitTestValue
| ------------ | -------------------- |
|
[
HitTestValue
](
#hittestvalue
)
| 点击区域的元素信息。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1660,7 +1668,7 @@ getWebId(): number
| ------ | --------------------- |
| number | 当前Web组件的索引值。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1710,7 +1718,7 @@ getUserAgent(): string
| ------ | -------------- |
| string | 默认用户代理。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1760,7 +1768,7 @@ getTitle(): string
| ------ | -------------------- |
| string | 返回文件选择器标题。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1810,7 +1818,7 @@ getPageHeight(): number
| ------ | -------------------- |
| number | 当前网页的页面高度。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1862,7 +1870,7 @@ storeWebArchive(baseName: string, autoName: boolean, callback: AsyncCallback\<st
| autoName | boolean | 是 | 决定是否自动生成文件名。 如果为false,则将baseName作为文件存储路径。 如果为true,则假定baseName是一个目录,将根据当前页的Url自动生成文件名。 |
| callback | AsyncCallback
\<
string> | 是 | 返回文件存储路径,保持网页失败会返回null。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1927,7 +1935,7 @@ storeWebArchive(baseName: string, autoName: boolean): Promise\<string>
| --------------- | ----------------------------------------------------- |
| Promise
\<
string> | Promise实例,保存成功返回文件路径,保存失败返回null。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -1985,7 +1993,7 @@ getUrl(): string
| ------ | ------------------- |
| string | 当前页面的url地址。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -2029,7 +2037,7 @@ stop(): void
**系统能力:**
SystemCapability.Web.Webview.Core
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -2078,7 +2086,7 @@ backOrForward(step: number): void
| ------ | -------- | ---- | ---------------------- |
| step | number | 是 | 需要前进或后退的步长。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -2138,7 +2146,7 @@ static getCookie(url: string): string
| ------ | ------------------------- |
| string | 指定url对应的cookie的值。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
...
...
@@ -2189,14 +2197,14 @@ static setCookie(url: string, value: string): void
| url | string | 是 | 要设置的cookie所属的url。 |
| value | string | 是 | 要设置的cookie的值。 |
**错误码
**
:
**错误码
:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
| 错误码ID | 错误信息 |
| -------- | ------------------------------------------------------ |
| 17100002 | Invalid url. |
| 17100005 | Inva
il
d cookie value. |
| 17100005 | Inva
li
d cookie value. |
**示例:**
...
...
@@ -3217,6 +3225,133 @@ struct WebComponent {
}
```
## WebAsyncController
通过WebAsyncController可以控制Web组件具有异步回调通知的行为,一个WebAsyncController对象控制一个Web组件。
### 创建对象
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
WebController
=
new
WebController
();
webAsyncController
:
WebAsyncController
=
new
web_webview
.
WebAsyncController
(
this
.
controller
)
build
()
{
Column
()
{
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### constructor<sup>9+</sup>
constructor(controller: WebController)
WebAsyncController的创建需要与一个
[
WebController
](
../arkui-ts/ts-basic-components-web.md#webcontroller
)
进行绑定。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名| 类型 | 必填 | 说明 |
| ----- | ---- | ---- | --- |
| controller |
[
WebController
](
../arkui-ts/ts-basic-components-web.md#webcontroller
)
| 是 | 所绑定的WebviewController。|
### storeWebArchive<sup>9+</sup>
storeWebArchive(baseName: string, autoName: boolean, callback: AsyncCallback
\<
string>): void
以回调方式异步保存当前页面。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------------- |
| baseName | string | 是 | 文件存储路径,该值不能为空。
| autoName | boolean | 是 | 决定是否自动生成文件名。
<br/>
如果为false,则将baseName作为文件存储路径。
<br/>
如果为true,则假定baseName是一个目录,将根据当前页的Url自动生成文件名。
| callback | AsyncCallback
\<
string> | 是 | 返回文件存储路径,保持网页失败会返回null。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
WebController
=
new
WebController
()
build
()
{
Column
()
{
Button
(
'
saveWebArchive
'
)
.
onClick
(()
=>
{
let
webAsyncController
=
new
web_webview
.
WebAsyncController
(
this
.
controller
)
webAsyncController
.
storeWebArchive
(
"
/data/storage/el2/base/
"
,
true
,
(
filename
)
=>
{
if
(
filename
!=
null
)
{
console
.
info
(
`save web archive success:
${
filename
}
`
)
}
})
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
### storeWebArchive<sup>9+</sup>
storeWebArchive(baseName: string, autoName: boolean): Promise
\<
string>
以Promise方式异步保存当前页面。
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------- | ---- | ----------------------------------- |
| baseName | string | 是 | 文件存储路径,该值不能为空。
| autoName | boolean | 是 | 决定是否自动生成文件名。
<br/>
如果为false,则将baseName作为文件存储路径。
<br/>
如果为true,则假定baseName是一个目录,将根据当前页的Url自动生成文件名。
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ---------------------------------------- |
| Promise
<string>
| Promise实例,保存成功返回文件路径,保存失败返回null。 |
**示例:**
```
ts
// xxx.ets
import
web_webview
from
'
@ohos.web.webview
'
@
Entry
@
Component
struct
WebComponent
{
controller
:
WebController
=
new
WebController
();
build
()
{
Column
()
{
Button
(
'
saveWebArchive
'
)
.
onClick
(()
=>
{
let
webAsyncController
=
new
web_webview
.
WebAsyncController
(
this
.
controller
);
webAsyncController
.
storeWebArchive
(
"
/data/storage/el2/base/
"
,
true
)
.
then
(
filename
=>
{
if
(
filename
!=
null
)
{
console
.
info
(
`save web archive success:
${
filename
}
`
)
}
})
})
Web
({
src
:
'
www.example.com
'
,
controller
:
this
.
controller
})
}
}
}
```
## GeolocationPermissions
web组件地理位置权限管理对象。
...
...
@@ -3231,9 +3366,9 @@ static allowGeolocation(origin: string): void
**参数:**
| 参数名 | 类型 | 说明 |
| ------ | ------ | ------------------ |
| origin | string | 指定源的字符串索引 |
| 参数名 | 类型 |
必填 |
说明 |
| ------ | ------ | ----
| ----
-------------- |
| origin | string |
是 |
指定源的字符串索引 |
**错误码:**
...
...
@@ -3388,7 +3523,7 @@ static getAccessibleGeolocation(origin: string): Promise\<boolean>
**参数:**
| 参数名 |
参数类型 | 必填 | 参数描述
|
| 参数名 |
类型 | 必填 | 说明
|
| ------ | -------- | ---- | -------------------- |
| origin | string | 是 | 指定源的字符串索引。 |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录