Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
da596280
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看板
提交
da596280
编写于
1月 27, 2022
作者:
L
lixingchi1
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lixingchi1@huawei.com
Signed-off-by:
N
lixingchi1
<
lixingchi1@huawei.com
>
上级
b6891e49
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
55 addition
and
41 deletion
+55
-41
zh-cn/application-dev/reference/arkui-ts/figures/Web.png
zh-cn/application-dev/reference/arkui-ts/figures/Web.png
+0
-0
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md
...ication-dev/reference/arkui-ts/ts-basic-components-web.md
+55
-41
未找到文件。
zh-cn/application-dev/reference/arkui-ts/figures/Web.png
0 → 100644
浏览文件 @
da596280
3.5 KB
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-web.md
浏览文件 @
da596280
...
@@ -3,11 +3,11 @@
...
@@ -3,11 +3,11 @@
> **说明:**
> **说明:**
>该组件从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
>该组件从 API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
提供具有
页面显示能力的 WebView
组件。
提供具有
网页显示能力的 Web
组件。
## 权限列表
## 权限列表
ohos.permission.INTERNET
(使用网络图片)
ohos.permission.INTERNET
ohos.permission.READ_USER_STORAGE
ohos.permission.READ_USER_STORAGE
...
@@ -21,29 +21,40 @@ ohos.permission.READ_USER_STORAGE
...
@@ -21,29 +21,40 @@ ohos.permission.READ_USER_STORAGE
表1 options 参数说明
表1 options 参数说明
| 参数名 | 参数类型
| 必填 | 默认值 | 参数描述
|
| 参数名 | 参数类型
| 必填 | 默认值 | 参数描述
|
| ---------- | -------------
| ---- | ---- |
----- |
| ---------- | -------------
--------------------------- | ---- | ---- | --
----- |
| src | string
| 是 | - | 网页
地址。 |
| src | string
| 是 | - | 网页资源
地址。 |
| controller |
WebController | 否 | - | 控制器。
|
| controller |
<a
href=
"#WebController"
>
WebController
</a>
| 否 | - | 控制器。
|
>  **说明:**
>
> - 一个页面只支持一个 Web 组件,全屏显示,页面中的其他组件会被 Web 组件遮挡;
> - 不支持转场动画;
> - 只支持加载 rawfile 目录下的 html 文件,不支持远程资源。
## 属性
## 属性
| 名称 | 参数类型 | 默认值 | 描述 |
| 名称 | 参数类型 | 默认值 | 描述 |
| ---------------- | ------- | ----- | ---------------------------------------- |
| ---------------- | ------- | ----- | ---------------------------------------- |
| javaScriptAccess | boolean | false | 是否允许执行 JavaScript 脚本,当设置为 false 时,不允许执行。 |
| javaScriptAccess | boolean | false | 是否允许执行 JavaScript 脚本,当设置为 false 时,不允许执行。 |
| fileAccess | boolean | false | 启用或禁用 WebView 中是否能通过 file 方式访问应用中的本地文件,当设置为 false 时,禁用。 |
| fileAccess | boolean | false | 启用或禁用 Web 中可通过 file 方式访问应用中的本地文件,当设置为 false 时,禁用。 |
>  **说明:**
>
> 不支持通用属性。
## 事件
## 事件
| 名称 | 功能描述 |
不支持通用事件。
| ---------------------------------------- | -------------------- |
| onPageEnd(callback: (event?: { url: string }) => void) | 网页加载结束时触发该回调。 |
| 名称 | 功能描述 |
| onRequestSelected(callback: () => void) | 获取 WebView 焦点时触发该回调。 |
| ---------------------------------------- | ---------------------------------------- |
| onPageEnd(callback: (event?: { url: string }) => void) |
<p>
网页加载结束时触发该回调。
<br
/>
url:Web 引擎返回的 URL。
</p>
|
## WebController
##
<a name="WebController"></a>
WebController
Web
View
组件的控制器。
Web 组件的控制器。
### 创建对象
### 创建对象
...
@@ -51,65 +62,68 @@ WebView 组件的控制器。
...
@@ -51,65 +62,68 @@ WebView 组件的控制器。
webController: WebController = new WebController()
webController: WebController = new WebController()
```
```
###
webController.
runJavaScript
### runJavaScript
runJavaScript(
options: { script: string, callback?: (error, data) => void }
): void
runJavaScript(
script: string
): void
执行 JavaScript 脚本。
执行 JavaScript 脚本。
-
参数
-
参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| -------- | --------------------- | ---- | ---- | --------------------- |
| ------ | ------ | ---- | ---- | -------------- |
| script | string | 是 | - | JavaScript 脚本。 |
| script | string | 是 | - | JavaScript 脚本。 |
| callback | (error, data) => void | 否 | - | 执行 JavaScript 脚本时的回调。 |
###
webController.
loadUrl
### loadUrl
loadUrl(
options: { url: string, headerMap?: Map
<string
,
string
>
}
): void
loadUrl(
url: string
): void
加载 URL。
加载 URL。
-
参数
-
参数
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| --------- | ------------------- | ---- | ---- | ---------- |
| ---- | ------ | ---- | ---- | ---------- |
| url | string | 是 | - | 需要加载的 URL。 |
| url | string | 是 | - | 需要加载的 URL。 |
| headerMap | Map
<string
,
string
>
| 否 | - | 请求头集合。 |
## 示例
## 示例
```
```
// webComponent.ets
@Entry
@Entry
@Component
@Component
struct WebComponent {
struct WebComponent {
@State javaScriptAccess: boolean = true;
@State javaScriptAccess: boolean = true;
@State fileAccess: boolean = true;
@State fileAccess: boolean = true;
controller: WebController = new WebController();
controller: WebController = new WebController();
build() {
build() {
Column() {
Column() {
Web(src:
'https://gitee.com/openharmony'
, controller: this.controller)
Web(src:
$rawfile('index.html')
, controller: this.controller)
.javaScriptAccess(javaScriptAccess)
.javaScriptAccess(javaScriptAccess)
.fileAccess(fileAccess)
.fileAccess(fileAccess)
.onRequestSelected(() => {
.onPageEnd(e => {
// Gitee.initNavbar() 函数定义在网页中
// test() 在 index.html 中已定义
this.controller.runJavaScript('javascript:Gitee.initNavbar()',
this.controller.runJavaScript('test()');
(err, data) => {
console.log("url: ", e.url);
if (err) {
console.error('Operation failed. Cause: ', JSON.stringify(err));
return;
}
console.info('Operation successful. Data: ', JSON.stringify(data));
})
})
.onPageEnd((event) => {
console.log("url: ", event.url);
})
})
}
}
}
}
}
}
// index.html
<!DOCTYPE html>
<html>
<meta
charset=
"utf-8"
>
<body>
Hello world!
</body>
<script
type=
"text/javascript"
>
function
test
()
{
console
.
log
(
'
Ark WebComponent
'
);
}
</script>
</html>
```
```

\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录