未验证 提交 b88b1794 编写于 作者: O openharmony_ci 提交者: Gitee

!19151 modify web docs (4.0 beta1)

Merge pull request !19151 from 李想/OpenHarmony-4.0-Beta1
...@@ -63,42 +63,6 @@ struct WebComponent { ...@@ -63,42 +63,6 @@ struct WebComponent {
通过WebMessagePort可以进行消息的发送以及接收。 通过WebMessagePort可以进行消息的发送以及接收。
### close
close(): void
关闭该消息端口。
**系统能力:** SystemCapability.Web.Webview.Core
**示例:**
```ts
// xxx.ets
import web_webview from '@ohos.web.webview'
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
msgPort: web_webview.WebMessagePort[] = null;
build() {
Column() {
Button('close')
.onClick(() => {
if (this.msgPort && this.msgPort[1]) {
this.msgPort[1].close();
} else {
console.error("msgPort is null, Please initialize first");
}
})
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
```
### postMessageEvent ### postMessageEvent
postMessageEvent(message: WebMessage): void postMessageEvent(message: WebMessage): void
...@@ -448,6 +412,56 @@ function postStringToApp() { ...@@ -448,6 +412,56 @@ function postStringToApp() {
} }
``` ```
### close
close(): void
关闭该消息端口。在使用close前,请先使用[createWebMessagePorts](#createwebmessageports)创建消息端口。
**系统能力:** SystemCapability.Web.Webview.Core
**示例:**
```ts
// xxx.ets
import web_webview from '@ohos.web.webview'
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
msgPort: web_webview.WebMessagePort[] = null;
build() {
Column() {
// 先使用createWebMessagePorts创建端口。
Button('createWebMessagePorts')
.onClick(() => {
try {
this.msgPort = this.controller.createWebMessagePorts();
console.log("createWebMessagePorts size:" + this.msgPort.length)
} catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
}
})
Button('close')
.onClick(() => {
try {
if (this.msgPort && this.msgPort.length == 2) {
this.msgPort[1].close();
} else {
console.error("msgPort is null, Please initialize first");
}
} catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
}
})
Web({ src: 'www.example.com', controller: this.controller })
}
}
}
```
## WebviewController ## WebviewController
通过WebviewController可以控制Web组件各种行为。一个WebviewController对象只能控制一个Web组件,且必须在Web组件和WebviewController绑定后,才能调用WebviewController上的方法(静态方法除外)。 通过WebviewController可以控制Web组件各种行为。一个WebviewController对象只能控制一个Web组件,且必须在Web组件和WebviewController绑定后,才能调用WebviewController上的方法(静态方法除外)。
...@@ -473,7 +487,6 @@ export default class EntryAbility extends UIAbility { ...@@ -473,7 +487,6 @@ export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
console.log("EntryAbility onCreate") console.log("EntryAbility onCreate")
web_webview.WebviewController.initializeWebEngine() web_webview.WebviewController.initializeWebEngine()
globalThis.abilityWant = want
console.log("EntryAbility onCreate done") console.log("EntryAbility onCreate done")
} }
} }
...@@ -516,30 +529,11 @@ export default class EntryAbility extends UIAbility { ...@@ -516,30 +529,11 @@ export default class EntryAbility extends UIAbility {
} }
``` ```
### 创建对象
```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 })
}
}
}
```
### setWebDebuggingAccess ### setWebDebuggingAccess
static setWebDebuggingAccess(webDebuggingAccess: boolean): void static setWebDebuggingAccess(webDebuggingAccess: boolean): void
设置是否启用网页调试功能。 设置是否启用网页调试功能。详情请参考[Devtools工具](../../web/web-debugging-with-devtools.md)
**系统能力:** SystemCapability.Web.Webview.Core **系统能力:** SystemCapability.Web.Webview.Core
...@@ -617,7 +611,7 @@ struct WebComponent { ...@@ -617,7 +611,7 @@ struct WebComponent {
Button('loadUrl') Button('loadUrl')
.onClick(() => { .onClick(() => {
try { try {
//需要加载的URL是string类型 // 需要加载的URL是string类型。
this.controller.loadUrl('www.example.com'); this.controller.loadUrl('www.example.com');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
...@@ -643,7 +637,7 @@ struct WebComponent { ...@@ -643,7 +637,7 @@ struct WebComponent {
Button('loadUrl') Button('loadUrl')
.onClick(() => { .onClick(() => {
try { try {
//带参数headers // 带参数headers。
this.controller.loadUrl('www.example.com', [{headerKey: "headerKey", headerValue: "headerValue"}]); this.controller.loadUrl('www.example.com', [{headerKey: "headerKey", headerValue: "headerValue"}]);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
...@@ -656,6 +650,7 @@ struct WebComponent { ...@@ -656,6 +650,7 @@ struct WebComponent {
``` ```
加载本地网页,加载本地资源文件有三种方式。 加载本地网页,加载本地资源文件有三种方式。
1.$rawfile方式。 1.$rawfile方式。
```ts ```ts
// xxx.ets // xxx.ets
...@@ -671,8 +666,8 @@ struct WebComponent { ...@@ -671,8 +666,8 @@ struct WebComponent {
Button('loadUrl') Button('loadUrl')
.onClick(() => { .onClick(() => {
try { try {
//通过$rawfile加载本地资源文件 // 通过$rawfile加载本地资源文件。
this.controller.loadUrl($rawfile('xxx.html')); this.controller.loadUrl($rawfile('index.html'));
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
} }
...@@ -682,6 +677,7 @@ struct WebComponent { ...@@ -682,6 +677,7 @@ struct WebComponent {
} }
} }
``` ```
2.resources协议。 2.resources协议。
```ts ```ts
// xxx.ets // xxx.ets
...@@ -697,8 +693,8 @@ struct WebComponent { ...@@ -697,8 +693,8 @@ struct WebComponent {
Button('loadUrl') Button('loadUrl')
.onClick(() => { .onClick(() => {
try { try {
//通过resource协议加载本地资源文件 // 通过resource协议加载本地资源文件。
this.controller.loadUrl("resource://rawfile/xxx.html"); this.controller.loadUrl("resource://rawfile/index.html");
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
} }
...@@ -711,8 +707,9 @@ struct WebComponent { ...@@ -711,8 +707,9 @@ struct WebComponent {
3.通过沙箱路径加载本地文件,可以参考[web](../arkui-ts/ts-basic-components-web.md#web)加载沙箱路径的示例代码。 3.通过沙箱路径加载本地文件,可以参考[web](../arkui-ts/ts-basic-components-web.md#web)加载沙箱路径的示例代码。
加载的html文件。
```html ```html
<!-- xxx.html --> <!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<body> <body>
...@@ -1343,6 +1340,24 @@ struct Index { ...@@ -1343,6 +1340,24 @@ struct Index {
} }
``` ```
加载的html文件。
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
Hello world!
</body>
<script type="text/javascript">
function htmlTest() {
str = objName.test("test function")
console.log('objName.test result:'+ str)
}
</script>
</html>
```
### runJavaScript ### runJavaScript
runJavaScript(script: string, callback : AsyncCallback\<string>): void runJavaScript(script: string, callback : AsyncCallback\<string>): void
...@@ -1406,6 +1421,24 @@ struct WebComponent { ...@@ -1406,6 +1421,24 @@ struct WebComponent {
} }
``` ```
加载的html文件。
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
Hello world!
</body>
<script type="text/javascript">
function test() {
console.log('Ark WebComponent')
return "This value is from index.html"
}
</script>
</html>
```
### runJavaScript ### runJavaScript
runJavaScript(script: string): Promise\<string> runJavaScript(script: string): Promise\<string>
...@@ -1470,6 +1503,23 @@ struct WebComponent { ...@@ -1470,6 +1503,23 @@ struct WebComponent {
} }
``` ```
加载的html文件。
```html
<!-- index.html -->
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
Hello world!
</body>
<script type="text/javascript">
function test() {
console.log('Ark WebComponent')
return "This value is from index.html"
}
</script>
</html>
```
### runJavaScriptExt<sup>10+</sup> ### runJavaScriptExt<sup>10+</sup>
...@@ -1569,8 +1619,11 @@ struct WebComponent { ...@@ -1569,8 +1619,11 @@ struct WebComponent {
} }
} }
} }
```
//index.html 加载的html文件。
```html
<!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en-gb"> <html lang="en-gb">
<body> <body>
...@@ -1681,8 +1734,11 @@ struct WebComponent { ...@@ -1681,8 +1734,11 @@ struct WebComponent {
} }
} }
} }
```
//index.html 加载的html文件。
```html
<!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en-gb"> <html lang="en-gb">
<body> <body>
...@@ -2178,14 +2234,15 @@ struct WebComponent { ...@@ -2178,14 +2234,15 @@ struct WebComponent {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
} }
}) })
Web({ src: $rawfile('xxx.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
} }
} }
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -2973,14 +3030,15 @@ struct WebComponent { ...@@ -2973,14 +3030,15 @@ struct WebComponent {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
} }
} }
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -3045,14 +3103,15 @@ struct WebComponent { ...@@ -3045,14 +3103,15 @@ struct WebComponent {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
} }
} }
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -3123,8 +3182,9 @@ struct WebComponent { ...@@ -3123,8 +3182,9 @@ struct WebComponent {
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -3640,7 +3700,7 @@ struct WebComponent { ...@@ -3640,7 +3700,7 @@ struct WebComponent {
.onClick(() => { .onClick(() => {
try { try {
let state = this.controller.serializeWebState(); let state = this.controller.serializeWebState();
// globalThis.cacheDir从MainAbility.ts中获取。 // globalThis.cacheDir从EntryAbility.ts中获取。
let path = globalThis.cacheDir; let path = globalThis.cacheDir;
path += '/WebState'; path += '/WebState';
// 以同步方法打开文件。 // 以同步方法打开文件。
...@@ -3657,14 +3717,14 @@ struct WebComponent { ...@@ -3657,14 +3717,14 @@ struct WebComponent {
} }
``` ```
2.修改MainAbility.ts。 2.修改EntryAbility.ts。
获取应用缓存文件路径。 获取应用缓存文件路径。
```ts ```ts
// xxx.ts // xxx.ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
export default class MainAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
// 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。 // 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。
globalThis.cacheDir = this.context.cacheDir; globalThis.cacheDir = this.context.cacheDir;
...@@ -3712,7 +3772,7 @@ struct WebComponent { ...@@ -3712,7 +3772,7 @@ struct WebComponent {
Button('RestoreWebState') Button('RestoreWebState')
.onClick(() => { .onClick(() => {
try { try {
// globalThis.cacheDir从MainAbility.ts中获取。 // globalThis.cacheDir从EntryAbility.ts中获取。
let path = globalThis.cacheDir; let path = globalThis.cacheDir;
path += '/WebState'; path += '/WebState';
// 以同步方法打开文件。 // 以同步方法打开文件。
...@@ -3739,14 +3799,14 @@ struct WebComponent { ...@@ -3739,14 +3799,14 @@ struct WebComponent {
} }
``` ```
2.修改MainAbility.ts。 2.修改EntryAbility.ts。
获取应用缓存文件路径。 获取应用缓存文件路径。
```ts ```ts
// xxx.ts // xxx.ts
import UIAbility from '@ohos.app.ability.UIAbility'; import UIAbility from '@ohos.app.ability.UIAbility';
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
export default class MainAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want, launchParam) {
// 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。 // 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。
globalThis.cacheDir = this.context.cacheDir; globalThis.cacheDir = this.context.cacheDir;
......
...@@ -60,7 +60,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController}) ...@@ -60,7 +60,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
controller: web_webview.WebviewController = new web_webview.WebviewController() controller: web_webview.WebviewController = new web_webview.WebviewController()
build() { build() {
Column() { Column() {
//通过$rawfile加载本地资源文件 // 通过$rawfile加载本地资源文件。
Web({ src: $rawfile("index.html"), controller: this.controller }) Web({ src: $rawfile("index.html"), controller: this.controller })
} }
} }
...@@ -77,7 +77,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController}) ...@@ -77,7 +77,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
controller: web_webview.WebviewController = new web_webview.WebviewController() controller: web_webview.WebviewController = new web_webview.WebviewController()
build() { build() {
Column() { Column() {
//通过resource协议加载本地资源文件 // 通过resource协议加载本地资源文件。
Web({ src: "resource://rawfile/index.html", controller: this.controller }) Web({ src: "resource://rawfile/index.html", controller: this.controller })
} }
} }
...@@ -90,7 +90,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController}) ...@@ -90,7 +90,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
let url = 'file://' + globalThis.filesDir + '/xxx.html' let url = 'file://' + globalThis.filesDir + '/index.html'
@Entry @Entry
@Component @Component
...@@ -105,7 +105,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController}) ...@@ -105,7 +105,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
} }
``` ```
2.修改MainAbility.ts。 2.修改EntryAbility.ts。
以filesDir为例,获取沙箱路径。若想获取其他路径,请参考[应用开发路径](../../application-models/application-context-stage.md#获取应用开发路径) 以filesDir为例,获取沙箱路径。若想获取其他路径,请参考[应用开发路径](../../application-models/application-context-stage.md#获取应用开发路径)
```ts ```ts
// xxx.ts // xxx.ts
...@@ -121,6 +121,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController}) ...@@ -121,6 +121,7 @@ Web(options: { src: ResourceStr, controller: WebviewController | WebController})
} }
``` ```
加载的html文件。
```html ```html
<!-- index.html --> <!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
...@@ -241,7 +242,7 @@ javaScriptProxy(javaScriptProxy: { object: object, name: string, methodList: Arr ...@@ -241,7 +242,7 @@ javaScriptProxy(javaScriptProxy: { object: object, name: string, methodList: Arr
| object | object | 是 | - | 参与注册的对象。只能声明方法,不能声明属性。 | | object | object | 是 | - | 参与注册的对象。只能声明方法,不能声明属性。 |
| name | string | 是 | - | 注册对象的名称,与window中调用的对象名一致。 | | name | string | 是 | - | 注册对象的名称,与window中调用的对象名一致。 |
| methodList | Array\<string\> | 是 | - | 参与注册的应用侧JavaScript对象的方法。 | | methodList | Array\<string\> | 是 | - | 参与注册的应用侧JavaScript对象的方法。 |
| controller | [WebviewController<sup>9+</sup>](../apis/js-apis-webview.md#webviewcontroller) \| [WebController](#webcontroller) | 是 | - | 控制器。从API Version 9开始,WebController再维护,建议使用WebviewController替代。 | | controller | [WebviewController<sup>9+</sup>](../apis/js-apis-webview.md#webviewcontroller) \| [WebController](#webcontroller) | 是 | - | 控制器。从API Version 9开始,WebController再维护,建议使用WebviewController替代。 |
**示例:** **示例:**
...@@ -585,15 +586,16 @@ horizontalScrollBarAccess(horizontalScrollBar: boolean) ...@@ -585,15 +586,16 @@ horizontalScrollBarAccess(horizontalScrollBar: boolean)
controller: web_webview.WebviewController = new web_webview.WebviewController() controller: web_webview.WebviewController = new web_webview.WebviewController()
build() { build() {
Column() { Column() {
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
.horizontalScrollBarAccess(true) .horizontalScrollBarAccess(true)
} }
} }
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -638,15 +640,16 @@ verticalScrollBarAccess(verticalScrollBar: boolean) ...@@ -638,15 +640,16 @@ verticalScrollBarAccess(verticalScrollBar: boolean)
controller: web_webview.WebviewController = new web_webview.WebviewController() controller: web_webview.WebviewController = new web_webview.WebviewController()
build() { build() {
Column() { Column() {
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
.verticalScrollBarAccess(true) .verticalScrollBarAccess(true)
} }
} }
} }
``` ```
加载的html文件。
```html ```html
<!--xxx.html--> <!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -1418,7 +1421,7 @@ onAlert(callback: (event?: { url: string; message: string; result: JsResult }) = ...@@ -1418,7 +1421,7 @@ onAlert(callback: (event?: { url: string; message: string; result: JsResult }) =
controller: web_webview.WebviewController = new web_webview.WebviewController() controller: web_webview.WebviewController = new web_webview.WebviewController()
build() { build() {
Column() { Column() {
Web({ src: $rawfile("xxx.html"), controller: this.controller }) Web({ src: $rawfile("index.html"), controller: this.controller })
.onAlert((event) => { .onAlert((event) => {
console.log("event.url:" + event.url) console.log("event.url:" + event.url)
console.log("event.message:" + event.message) console.log("event.message:" + event.message)
...@@ -1448,8 +1451,9 @@ onAlert(callback: (event?: { url: string; message: string; result: JsResult }) = ...@@ -1448,8 +1451,9 @@ onAlert(callback: (event?: { url: string; message: string; result: JsResult }) =
} }
``` ```
``` 加载的html文件。
<!--xxx.html--> ```html
<!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -1500,7 +1504,7 @@ onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResu ...@@ -1500,7 +1504,7 @@ onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResu
build() { build() {
Column() { Column() {
Web({ src: $rawfile("xxx.html"), controller: this.controller }) Web({ src: $rawfile("index.html"), controller: this.controller })
.onBeforeUnload((event) => { .onBeforeUnload((event) => {
console.log("event.url:" + event.url) console.log("event.url:" + event.url)
console.log("event.message:" + event.message) console.log("event.message:" + event.message)
...@@ -1530,8 +1534,9 @@ onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResu ...@@ -1530,8 +1534,9 @@ onBeforeUnload(callback: (event?: { url: string; message: string; result: JsResu
} }
``` ```
``` 加载的html文件。
<!--xxx.html--> ```html
<!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -1582,7 +1587,7 @@ onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) ...@@ -1582,7 +1587,7 @@ onConfirm(callback: (event?: { url: string; message: string; result: JsResult })
build() { build() {
Column() { Column() {
Web({ src: $rawfile("xxx.html"), controller: this.controller }) Web({ src: $rawfile("index.html"), controller: this.controller })
.onConfirm((event) => { .onConfirm((event) => {
console.log("event.url:" + event.url) console.log("event.url:" + event.url)
console.log("event.message:" + event.message) console.log("event.message:" + event.message)
...@@ -1612,8 +1617,9 @@ onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) ...@@ -1612,8 +1617,9 @@ onConfirm(callback: (event?: { url: string; message: string; result: JsResult })
} }
``` ```
``` 加载的html文件。
<!--xxx.html--> ```html
<!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -1671,7 +1677,7 @@ onPrompt(callback: (event?: { url: string; message: string; value: string; resul ...@@ -1671,7 +1677,7 @@ onPrompt(callback: (event?: { url: string; message: string; value: string; resul
build() { build() {
Column() { Column() {
Web({ src: $rawfile("xxx.html"), controller: this.controller }) Web({ src: $rawfile("index.html"), controller: this.controller })
.onPrompt((event) => { .onPrompt((event) => {
console.log("url:" + event.url) console.log("url:" + event.url)
console.log("message:" + event.message) console.log("message:" + event.message)
...@@ -1702,8 +1708,9 @@ onPrompt(callback: (event?: { url: string; message: string; value: string; resul ...@@ -1702,8 +1708,9 @@ onPrompt(callback: (event?: { url: string; message: string; value: string; resul
} }
``` ```
``` 加载的html文件。
<!--xxx.html--> ```html
<!--index.html-->
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
...@@ -1774,6 +1781,8 @@ onConsole(callback: (event?: { message: ConsoleMessage }) => boolean) ...@@ -1774,6 +1781,8 @@ onConsole(callback: (event?: { message: ConsoleMessage }) => boolean)
onDownloadStart(callback: (event?: { url: string, userAgent: string, contentDisposition: string, mimetype: string, contentLength: number }) => void) onDownloadStart(callback: (event?: { url: string, userAgent: string, contentDisposition: string, mimetype: string, contentLength: number }) => void)
通知主应用开始下载一个文件。
**参数:** **参数:**
| 参数名 | 参数类型 | 参数描述 | | 参数名 | 参数类型 | 参数描述 |
...@@ -2248,7 +2257,7 @@ onScaleChange(callback: (event: {oldScale: number, newScale: number}) => void) ...@@ -2248,7 +2257,7 @@ onScaleChange(callback: (event: {oldScale: number, newScale: number}) => void)
onUrlLoadIntercept(callback: (event?: { data:string | WebResourceRequest }) => boolean) onUrlLoadIntercept(callback: (event?: { data:string | WebResourceRequest }) => boolean)
当Web组件加载url之前触发该回调,用于判断是否阻止此次访问。默认允许加载。 当Web组件加载url之前触发该回调,用于判断是否阻止此次访问。默认允许加载。
从API version 10开始再维护,建议使用[onLoadIntercept<sup>10+</sup>](#onloadintercept10)代替。 从API version 10开始再维护,建议使用[onLoadIntercept<sup>10+</sup>](#onloadintercept10)代替。
**参数:** **参数:**
...@@ -3306,7 +3315,7 @@ onLoadIntercept(callback: (event?: { data: WebResourceRequest }) => boolean) ...@@ -3306,7 +3315,7 @@ onLoadIntercept(callback: (event?: { data: WebResourceRequest }) => boolean)
| 参数名 | 参数类型 | 参数描述 | | 参数名 | 参数类型 | 参数描述 |
| ------- | ---------------------------------------- | --------- | | ------- | ---------------------------------------- | --------- |
| request | [Webresourcerequest](#webresourcerequest) | url请求的相关信息。 | | request | [WebResourceRequest](#webresourcerequest) | url请求的相关信息。 |
**返回值:** **返回值:**
...@@ -4931,6 +4940,7 @@ registerJavaScriptProxy(options: { object: object, name: string, methodList: Arr ...@@ -4931,6 +4940,7 @@ registerJavaScriptProxy(options: { object: object, name: string, methodList: Arr
} }
``` ```
加载的html文件。
```html ```html
<!-- index.html --> <!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
...@@ -4946,7 +4956,6 @@ registerJavaScriptProxy(options: { object: object, name: string, methodList: Arr ...@@ -4946,7 +4956,6 @@ registerJavaScriptProxy(options: { object: object, name: string, methodList: Arr
} }
</script> </script>
</html> </html>
``` ```
### runJavaScript<sup>(deprecated)</sup> ### runJavaScript<sup>(deprecated)</sup>
...@@ -4992,6 +5001,7 @@ runJavaScript(options: { script: string, callback?: (result: string) => void }) ...@@ -4992,6 +5001,7 @@ runJavaScript(options: { script: string, callback?: (result: string) => void })
} }
``` ```
加载的html文件。
```html ```html
<!-- index.html --> <!-- index.html -->
<!DOCTYPE html> <!DOCTYPE html>
...@@ -5007,7 +5017,6 @@ runJavaScript(options: { script: string, callback?: (result: string) => void }) ...@@ -5007,7 +5017,6 @@ runJavaScript(options: { script: string, callback?: (result: string) => void })
} }
</script> </script>
</html> </html>
``` ```
### stop<sup>(deprecated)</sup> ### stop<sup>(deprecated)</sup>
...@@ -5073,18 +5082,11 @@ clearHistory(): void ...@@ -5073,18 +5082,11 @@ clearHistory(): void
通过WebCookie可以控制Web组件中的cookie的各种行为,其中每个应用中的所有web组件共享一个WebCookie。通过controller方法中的getCookieManager方法可以获取WebCookie对象,进行后续的cookie管理操作。 通过WebCookie可以控制Web组件中的cookie的各种行为,其中每个应用中的所有web组件共享一个WebCookie。通过controller方法中的getCookieManager方法可以获取WebCookie对象,进行后续的cookie管理操作。
### setCookie<sup>(deprecated)</sup> ### setCookie<sup>(deprecated)</sup>
setCookie(url: string, value: string): boolean setCookie(): boolean
设置cookie,该方法为同步方法。设置成功返回true,否则返回false。 设置cookie,该方法为同步方法。设置成功返回true,否则返回false。
从API version 9开始不再维护,建议使用[setCookie<sup>9+</sup>](../apis/js-apis-webview.md#setcookie)代替。 从API version 9开始不再维护,建议使用[setCookie<sup>9+</sup>](../apis/js-apis-webview.md#setcookie)代替。
**参数:**
| 参数名 | 参数类型 | 必填 | 默认值 | 参数描述 |
| ----- | ------ | ---- | ---- | ----------------- |
| url | string | 是 | - | 要设置的cookie所属的url,建议使用完整的url。 |
| value | string | 是 | - | cookie的值。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
...@@ -5104,7 +5106,7 @@ setCookie(url: string, value: string): boolean ...@@ -5104,7 +5106,7 @@ setCookie(url: string, value: string): boolean
Column() { Column() {
Button('setCookie') Button('setCookie')
.onClick(() => { .onClick(() => {
let result = this.controller.getCookieManager().setCookie("https://www.example.com", "a=b") let result = this.controller.getCookieManager().setCookie()
console.log("result: " + result) console.log("result: " + result)
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册