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

!23459 web ArkTs规范适配

Merge pull request !23459 from 章靖/master
...@@ -12,12 +12,13 @@ In the following example, **createWebMessagePorts** is used to create message po ...@@ -12,12 +12,13 @@ In the following example, **createWebMessagePorts** is used to create message po
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[]; ports: web_webview.WebMessagePort[] = [];
@State sendFromEts: string = 'Send this message from ets to HTML'; @State sendFromEts: string = 'Send this message from ets to HTML';
@State receivedFromHtml: string = 'Display received message send from HTML'; @State receivedFromHtml: string = 'Display received message send from HTML';
...@@ -57,7 +58,8 @@ In the following example, **createWebMessagePorts** is used to create message po ...@@ -57,7 +58,8 @@ In the following example, **createWebMessagePorts** is used to create message po
// 3. Send the other message port (for example, port 0) to the HTML side, which then saves the message port. // 3. Send the other message port (for example, port 0) to the HTML side, which then saves the message port.
this.controller.postMessage('__init_port__', [this.ports[0]], '*'); this.controller.postMessage('__init_port__', [this.ports[0]], '*');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -71,7 +73,8 @@ In the following example, **createWebMessagePorts** is used to create message po ...@@ -71,7 +73,8 @@ In the following example, **createWebMessagePorts** is used to create message po
console.error(`ports is null, Please initialize first`); console.error(`ports is null, Please initialize first`);
} }
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('xxx.html'), controller: this.controller }) Web({ src: $rawfile('xxx.html'), controller: this.controller })
......
...@@ -13,6 +13,7 @@ The following uses [setCookie()](../reference/apis/js-apis-webview.md#setcookie) ...@@ -13,6 +13,7 @@ The following uses [setCookie()](../reference/apis/js-apis-webview.md#setcookie)
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -26,7 +27,8 @@ struct WebComponent { ...@@ -26,7 +27,8 @@ struct WebComponent {
try { try {
web_webview.WebCookieManager.setCookie('https://www.example.com', 'value=test'); web_webview.WebCookieManager.setCookie('https://www.example.com', 'value=test');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -82,6 +84,7 @@ struct WebComponent { ...@@ -82,6 +84,7 @@ struct WebComponent {
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -96,7 +99,8 @@ struct WebComponent { ...@@ -96,7 +99,8 @@ struct WebComponent {
// If this parameter is set to true, the cache in both the ROM and RAM is cleared. If this parameter is set to false, only the cache in the RAM is cleared. // If this parameter is set to true, the cache in both the ROM and RAM is cleared. If this parameter is set to false, only the cache in the RAM is cleared.
this.controller.removeCache(true); this.controller.removeCache(true);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
......
...@@ -12,6 +12,7 @@ In the following example, when a user clicks the **Upload** button on the fronte ...@@ -12,6 +12,7 @@ In the following example, when a user clicks the **Upload** button on the fronte
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
...@@ -25,7 +26,9 @@ In the following example, when a user clicks the **Upload** button on the fronte ...@@ -25,7 +26,9 @@ In the following example, when a user clicks the **Upload** button on the fronte
let fileList: Array<string> = [ let fileList: Array<string> = [
'xxx/test.png', 'xxx/test.png',
] ]
event.result.handleFileList(fileList) if (event) {
event.result.handleFileList(fileList)
}
return true; return true;
}) })
} }
......
...@@ -53,17 +53,23 @@ In the following example, when a user clicks the **Get Location** button on the ...@@ -53,17 +53,23 @@ In the following example, when a user clicks the **Get Location** button on the
primaryButton: { primaryButton: {
value: 'cancel', value: 'cancel',
action: () => { action: () => {
event.geolocation.invoke(event.origin, false, false); // Deny access to the device location. if (event) {
event.geolocation.invoke(event.origin, false, false); // Deny access to the device location.
}
} }
}, },
secondaryButton: { secondaryButton: {
value: 'ok', value: 'ok',
action: () => { action: () => {
event.geolocation.invoke(event.origin, true, false); // Allow access to the device location. if (event) {
event.geolocation.invoke(event.origin, true, false); // Allow access to the device location.
}
} }
}, },
cancel: () => { cancel: () => {
event.geolocation.invoke(event.origin, false, false); // Deny access to the device location. if (event) {
event.geolocation.invoke(event.origin, false, false); // Deny access to the device location.
}
} }
}) })
}) })
......
...@@ -16,16 +16,21 @@ The following example registers the **test()** function with the frontend page. ...@@ -16,16 +16,21 @@ The following example registers the **test()** function with the frontend page.
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
class testObj {
constructor() {
}
test(): string {
return 'ArkTS Hello World!';
}
}
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
webviewController: web_webview.WebviewController = new web_webview.WebviewController(); webviewController: web_webview.WebviewController = new web_webview.WebviewController();
// Declare the object to be registered. // Declare the object to be registered.
testObj = { @State testObjtest: testObj = new testObj();
test: () => {
return 'ArkTS Hello World!';
}
}
build() { build() {
Column() { Column() {
...@@ -33,7 +38,7 @@ The following example registers the **test()** function with the frontend page. ...@@ -33,7 +38,7 @@ The following example registers the **test()** function with the frontend page.
Web({ src: $rawfile('index.html'), controller: this.webviewController}) Web({ src: $rawfile('index.html'), controller: this.webviewController})
// Inject the object to the web client. // Inject the object to the web client.
.javaScriptProxy({ .javaScriptProxy({
object: this.testObj, object: this.testObjtest,
name: "testObjName", name: "testObjName",
methodList: ["test"], methodList: ["test"],
controller: this.webviewController controller: this.webviewController
...@@ -49,19 +54,26 @@ The following example registers the **test()** function with the frontend page. ...@@ -49,19 +54,26 @@ The following example registers the **test()** function with the frontend page.
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
class testObj {
constructor() {
}
test(): string {
return "ArkUI Web Component";
}
toString(): void {
console.log('Web Component toString');
}
}
@Entry @Entry
@Component @Component
struct Index { struct Index {
webviewController: web_webview.WebviewController = new web_webview.WebviewController(); webviewController: web_webview.WebviewController = new web_webview.WebviewController();
testObj = { @State testObjtest: testObj = new testObj();
test: (data) => {
return "ArkUI Web Component";
},
toString: () => {
console.info('Web Component toString');
}
}
build() { build() {
Column() { Column() {
...@@ -70,15 +82,17 @@ The following example registers the **test()** function with the frontend page. ...@@ -70,15 +82,17 @@ The following example registers the **test()** function with the frontend page.
try { try {
this.webviewController.refresh(); this.webviewController.refresh();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Button('Register JavaScript To Window') Button('Register JavaScript To Window')
.onClick(() => { .onClick(() => {
try { try {
this.webviewController.registerJavaScriptProxy(this.testObj, "objName", ["test", "toString"]); this.webviewController.registerJavaScriptProxy(this.testObjtest, "objName", ["test", "toString"]);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.webviewController }) Web({ src: $rawfile('index.html'), controller: this.webviewController })
......
...@@ -31,7 +31,7 @@ In the following example, when a user clicks the **Open Page in New Window** but ...@@ -31,7 +31,7 @@ In the following example, when a user clicks the **Open Page in New Window** but
.multiWindowAccess(true) .multiWindowAccess(true)
.onWindowNew((event) => { .onWindowNew((event) => {
console.info("onWindowNew..."); console.info("onWindowNew...");
var popController: web_webview.WebviewController = new web_webview.WebviewController(); let popController: web_webview.WebviewController = new web_webview.WebviewController();
// Create a window, associate it with popController, and have popController returned to the Web component. If you do not need to open a new window, set the return value to event.handler.setWebController(null). // Create a window, associate it with popController, and have popController returned to the Web component. If you do not need to open a new window, set the return value to event.handler.setWebController(null).
event.handler.setWebController(popController); event.handler.setWebController(popController);
}) })
......
...@@ -19,6 +19,7 @@ In the following example, after the **www.example.com** page is loaded by the ** ...@@ -19,6 +19,7 @@ In the following example, after the **www.example.com** page is loaded by the **
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -33,7 +34,8 @@ struct WebComponent { ...@@ -33,7 +34,8 @@ struct WebComponent {
// Upon button clicking, call loadUrl to redirect to www.example1.com. // Upon button clicking, call loadUrl to redirect to www.example1.com.
this.webviewController.loadUrl('www.example1.com'); this.webviewController.loadUrl('www.example1.com');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
// When creating a Web component, set the default network page to be loaded to www.example.com. // When creating a Web component, set the default network page to be loaded to www.example.com.
...@@ -64,6 +66,7 @@ The following example shows how to load a local page file. ...@@ -64,6 +66,7 @@ The following example shows how to load a local page file.
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -78,7 +81,8 @@ The following example shows how to load a local page file. ...@@ -78,7 +81,8 @@ The following example shows how to load a local page file.
// Upon button clicking, call loadUrl to redirect to local1.html. // Upon button clicking, call loadUrl to redirect to local1.html.
this.webviewController.loadUrl($rawfile("local1.html")); this.webviewController.loadUrl($rawfile("local1.html"));
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
// When creating a Web component, load the local.html file through $rawfile. // When creating a Web component, load the local.html file through $rawfile.
...@@ -111,6 +115,7 @@ The **Web** component provides the [loadData()](../reference/apis/js-apis-webvie ...@@ -111,6 +115,7 @@ The **Web** component provides the [loadData()](../reference/apis/js-apis-webvie
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -129,7 +134,8 @@ struct WebComponent { ...@@ -129,7 +134,8 @@ struct WebComponent {
'UTF-8' 'UTF-8'
); );
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
// When creating a Web component, set the default network page to be loaded to www.example.com. // When creating a Web component, set the default network page to be loaded to www.example.com.
......
...@@ -21,7 +21,6 @@ struct WebComponent { ...@@ -21,7 +21,6 @@ struct WebComponent {
.onClick(() => { .onClick(() => {
if (this.webviewController.accessBackward()) { if (this.webviewController.accessBackward()) {
this.webviewController.backward(); this.webviewController.backward();
return true;
} }
}) })
Web({ src: 'https://www.example.com/cn/', controller: this.webviewController}) Web({ src: 'https://www.example.com/cn/', controller: this.webviewController})
...@@ -55,11 +54,13 @@ In the following example, the frontend page **route.html** is loaded on to the a ...@@ -55,11 +54,13 @@ In the following example, the frontend page **route.html** is loaded on to the a
Column() { Column() {
Web({ src: $rawfile('route.html'), controller: this.webviewController }) Web({ src: $rawfile('route.html'), controller: this.webviewController })
.onUrlLoadIntercept((event) => { .onUrlLoadIntercept((event) => {
let url: string = event.data as string; if (event) {
if (url.indexOf('native://') === 0) { let url: string = event.data as string;
// Redirect to another page. if (url.indexOf('native://') === 0) {
router.pushUrl({ url:url.substring(9) }) // Redirect to another page.
return true; router.pushUrl({ url:url.substring(9) })
return true;
}
} }
return false; return false;
}) })
...@@ -122,18 +123,20 @@ In the following example, when a user clicks the link on the frontend page **cal ...@@ -122,18 +123,20 @@ In the following example, when a user clicks the link on the frontend page **cal
Column() { Column() {
Web({ src: $rawfile('xxx.html'), controller: this.webviewController}) Web({ src: $rawfile('xxx.html'), controller: this.webviewController})
.onUrlLoadIntercept((event) => { .onUrlLoadIntercept((event) => {
let url: string = event.data as string; if (event) {
// Check whether the link is redirecting to the dial screen of the phone app. let url: string = event.data as string;
if (url.indexOf('tel://') === 0) { // Check whether the link is redirecting to the dial screen of the phone app.
// Redirect to the dial screen. if (url.indexOf('tel://') === 0) {
call.makeCall(url.substring(6), (err) => { // Redirect to the dial screen.
if (!err) { call.makeCall(url.substring(6), (err) => {
console.info('make call succeeded.'); if (!err) {
} else { console.info('make call succeeded.');
console.info('make call fail, err is:' + JSON.stringify(err)); } else {
} console.info('make call fail, err is:' + JSON.stringify(err));
}); }
return true; });
return true;
}
} }
return false; return false;
}) })
......
...@@ -51,10 +51,12 @@ In the following example, the **Web** component intercepts the web page request ...@@ -51,10 +51,12 @@ In the following example, the **Web** component intercepts the web page request
Column() { Column() {
Web({ src: $rawfile('example.html'), controller: this.controller }) Web({ src: $rawfile('example.html'), controller: this.controller })
.onInterceptRequest((event) => { .onInterceptRequest((event) => {
console.info('url:' + event.request.getRequestUrl()); if (event) {
// Intercept the web page request. console.info('url:' + event.request.getRequestUrl());
if (event.request.getRequestUrl() !== 'https://www.intercept.com/test.html') { // Intercept the web page request.
return null; if (event.request.getRequestUrl() !== 'https://www.intercept.com/test.html') {
return this.responseResource;
}
} }
// Construct a custom response. // Construct a custom response.
this.responseResource.setResponseData(this.webData); this.responseResource.setResponseData(this.webData);
......
...@@ -89,13 +89,14 @@ postMessageEvent(message: WebMessage): void ...@@ -89,13 +89,14 @@ postMessageEvent(message: WebMessage): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[]; ports: web_webview.WebMessagePort[] = [];
build() { build() {
Column() { Column() {
...@@ -106,7 +107,8 @@ struct WebComponent { ...@@ -106,7 +107,8 @@ struct WebComponent {
this.controller.postMessage('__init_port__', [this.ports[0]], '*'); this.controller.postMessage('__init_port__', [this.ports[0]], '*');
this.ports[1].postMessageEvent("post message from ets to html5"); this.ports[1].postMessageEvent("post message from ets to html5");
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -141,13 +143,14 @@ onMessageEvent(callback: (result: WebMessage) => void): void ...@@ -141,13 +143,14 @@ onMessageEvent(callback: (result: WebMessage) => void): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[]; ports: web_webview.WebMessagePort[] = [];
build() { build() {
Column() { Column() {
...@@ -169,7 +172,8 @@ struct WebComponent { ...@@ -169,7 +172,8 @@ struct WebComponent {
} }
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -234,18 +238,20 @@ onMessageEventExt(callback: (result: WebMessageExt) => void): void ...@@ -234,18 +238,20 @@ onMessageEventExt(callback: (result: WebMessageExt) => void): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
// 应用与网页互发消息的示例:使用"init_web_messageport"的通道,通过端口0在应用侧接受网页发送的消息,通过端口1在网页侧接受应用发送的消息。 // 应用与网页互发消息的示例:使用"init_web_messageport"的通道,通过端口0在应用侧接受网页发送的消息,通过端口1在网页侧接受应用发送的消息。
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[] = null; ports: web_webview.WebMessagePort[] = [];
nativePort: web_webview.WebMessagePort = null; nativePort: web_webview.WebMessagePort | null = null;
@State msg1:string = ""; @State msg1: string = "";
@State msg2:string = ""; @State msg2: string = "";
message: web_webview.WebMessageExt = new web_webview.WebMessageExt(); message: web_webview.WebMessageExt = new web_webview.WebMessageExt();
build() { build() {
Column() { Column() {
Text(this.msg1).fontSize(16) Text(this.msg1).fontSize(16)
...@@ -254,74 +260,76 @@ struct WebComponent { ...@@ -254,74 +260,76 @@ struct WebComponent {
.onClick(() => { .onClick(() => {
// 使用本侧端口发送消息给HTML5 // 使用本侧端口发送消息给HTML5
try { try {
console.log("In ArkTS side send true start"); console.log("In ArkTS side send true start");
if (this.nativePort) { if (this.nativePort) {
this.message.setString("helloFromEts"); this.message.setString("helloFromEts");
this.nativePort.postMessageEventExt(this.message); this.nativePort.postMessageEventExt(this.message);
} }
} }
catch (error) { catch (error) {
console.log("In ArkTS side send message catch error:" + error.code + ", msg:" + error.message); let e: business_error.BusinessError = resError as business_error.BusinessError;
console.log("In ArkTS side send message catch error:" + e.code + ", msg:" + e.message);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
.onPageEnd((e)=>{ .onPageEnd((e) => {
console.log("In ArkTS side message onPageEnd init mesaage channel"); console.log("In ArkTS side message onPageEnd init mesaage channel");
// 1. 创建消息端口 // 1. 创建消息端口
this.ports = this.controller.createWebMessagePorts(true); this.ports = this.controller.createWebMessagePorts(true);
// 2. 发送端口1到HTML5 // 2. 发送端口1到HTML5
this.controller.postMessage("init_web_messageport", [this.ports[1]], "*"); this.controller.postMessage("init_web_messageport", [this.ports[1]], "*");
// 3. 保存端口0到本地 // 3. 保存端口0到本地
this.nativePort = this.ports[0]; this.nativePort = this.ports[0];
// 4. 设置回调函数 // 4. 设置回调函数
this.nativePort.onMessageEventExt((result) => { this.nativePort.onMessageEventExt((result) => {
console.log("In ArkTS side got message"); console.log("In ArkTS side got message");
try { try {
var type = result.getType(); let type = result.getType();
console.log("In ArkTS side getType:" + type); console.log("In ArkTS side getType:" + type);
switch (type) { switch (type) {
case web_webview.WebMessageType.STRING: { case web_webview.WebMessageType.STRING: {
this.msg1 = "result type:" + typeof (result.getString()); this.msg1 = "result type:" + typeof (result.getString());
this.msg2 = "result getString:" + ((result.getString())); this.msg2 = "result getString:" + ((result.getString()));
break; break;
} }
case web_webview.WebMessageType.NUMBER: { case web_webview.WebMessageType.NUMBER: {
this.msg1 = "result type:" + typeof (result.getNumber()); this.msg1 = "result type:" + typeof (result.getNumber());
this.msg2 = "result getNumber:" + ((result.getNumber())); this.msg2 = "result getNumber:" + ((result.getNumber()));
break; break;
}
case web_webview.WebMessageType.BOOLEAN: {
this.msg1 = "result type:" + typeof (result.getBoolean());
this.msg2 = "result getBoolean:" + ((result.getBoolean()));
break;
}
case web_webview.WebMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.WebMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
case web_webview.WebMessageType.ERROR: {
this.msg1 = "result type:" + typeof (result.getError());
this.msg2 = "result getError:" + result.getError();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
} }
case web_webview.WebMessageType.BOOLEAN: {
this.msg1 = "result type:" + typeof (result.getBoolean());
this.msg2 = "result getBoolean:" + ((result.getBoolean()));
break;
}
case web_webview.WebMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.WebMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
case web_webview.WebMessageType.ERROR: {
this.msg1 = "result type:" + typeof (result.getError());
this.msg2 = "result getError:" + result.getError();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
}
} }
catch (resError) { catch (resError) {
console.log(`log error code: ${resError.code}, Message: ${resError.message}`); let e: business_error.BusinessError = resError as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}); });
}) })
} }
} }
} }
...@@ -424,13 +432,14 @@ close(): void ...@@ -424,13 +432,14 @@ close(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
msgPort: web_webview.WebMessagePort[] = null; msgPort: web_webview.WebMessagePort[] = [];
build() { build() {
Column() { Column() {
...@@ -441,7 +450,8 @@ struct WebComponent { ...@@ -441,7 +450,8 @@ struct WebComponent {
this.msgPort = this.controller.createWebMessagePorts(); this.msgPort = this.controller.createWebMessagePorts();
console.log("createWebMessagePorts size:" + this.msgPort.length) console.log("createWebMessagePorts size:" + this.msgPort.length)
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Button('close') Button('close')
...@@ -453,8 +463,9 @@ struct WebComponent { ...@@ -453,8 +463,9 @@ struct WebComponent {
console.error("msgPort is null, Please initialize first"); console.error("msgPort is null, Please initialize first");
} }
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
} console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
} }
...@@ -482,13 +493,15 @@ static initializeWebEngine(): void ...@@ -482,13 +493,15 @@ static initializeWebEngine(): void
// 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';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
console.log("EntryAbility onCreate") console.log("EntryAbility onCreate")
web_webview.WebviewController.initializeWebEngine() web_webview.WebviewController.initializeWebEngine()
console.log("EntryAbility onCreate done") console.log("EntryAbility onCreate done")
} }
} }
``` ```
...@@ -513,19 +526,23 @@ static setHttpDns(secureDnsMode:SecureDnsMode, secureDnsConfig:string): void ...@@ -513,19 +526,23 @@ static setHttpDns(secureDnsMode:SecureDnsMode, secureDnsConfig:string): void
// 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';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
import business_error from '@ohos.base';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
console.log("EntryAbility onCreate") console.log("EntryAbility onCreate")
try { try {
web_webview.WebviewController.setHttpDns(web_webview.SecureDnsMode.AUTO, "https://example1.test") web_webview.WebviewController.setHttpDns(web_webview.SecureDnsMode.AUTO, "https://example1.test")
} catch(error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
} console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
globalThis.abilityWant = want
console.log("EntryAbility onCreate done")
} }
AppStorage.setOrCreate("abilityWant", want);
console.log("EntryAbility onCreate done")
}
} }
``` ```
...@@ -548,17 +565,19 @@ static setWebDebuggingAccess(webDebuggingAccess: boolean): void ...@@ -548,17 +565,19 @@ static setWebDebuggingAccess(webDebuggingAccess: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
aboutToAppear():void { aboutToAppear(): void {
try { try {
web_webview.WebviewController.setWebDebuggingAccess(true); web_webview.WebviewController.setWebDebuggingAccess(true);
} catch(error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
} }
...@@ -599,7 +618,8 @@ loadUrl(url: string | Resource, headers?: Array\<WebHeader>): void ...@@ -599,7 +618,8 @@ loadUrl(url: string | Resource, headers?: Array\<WebHeader>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -614,7 +634,8 @@ struct WebComponent { ...@@ -614,7 +634,8 @@ struct WebComponent {
// 需要加载的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}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -625,7 +646,8 @@ struct WebComponent { ...@@ -625,7 +646,8 @@ struct WebComponent {
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -638,9 +660,10 @@ struct WebComponent { ...@@ -638,9 +660,10 @@ struct WebComponent {
.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}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -654,7 +677,8 @@ struct WebComponent { ...@@ -654,7 +677,8 @@ struct WebComponent {
1.$rawfile方式。 1.$rawfile方式。
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -669,7 +693,8 @@ struct WebComponent { ...@@ -669,7 +693,8 @@ struct WebComponent {
// 通过$rawfile加载本地资源文件。 // 通过$rawfile加载本地资源文件。
this.controller.loadUrl($rawfile('index.html')); this.controller.loadUrl($rawfile('index.html'));
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -681,7 +706,8 @@ struct WebComponent { ...@@ -681,7 +706,8 @@ struct WebComponent {
2.resources协议。 2.resources协议。
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -696,7 +722,8 @@ struct WebComponent { ...@@ -696,7 +722,8 @@ struct WebComponent {
// 通过resource协议加载本地资源文件。 // 通过resource协议加载本地资源文件。
this.controller.loadUrl("resource://rawfile/index.html"); this.controller.loadUrl("resource://rawfile/index.html");
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -754,7 +781,8 @@ loadData(data: string, mimeType: string, encoding: string, baseUrl?: string, his ...@@ -754,7 +781,8 @@ loadData(data: string, mimeType: string, encoding: string, baseUrl?: string, his
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -772,7 +800,8 @@ struct WebComponent { ...@@ -772,7 +800,8 @@ struct WebComponent {
"UTF-8" "UTF-8"
); );
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -784,7 +813,8 @@ struct WebComponent { ...@@ -784,7 +813,8 @@ struct WebComponent {
加载本地资源 加载本地资源
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -799,7 +829,8 @@ struct WebComponent { ...@@ -799,7 +829,8 @@ struct WebComponent {
try { try {
this.controller.loadData(this.updataContent, "text/html", "UTF-8", " ", " "); this.controller.loadData(this.updataContent, "text/html", "UTF-8", " ", " ");
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -834,7 +865,8 @@ accessForward(): boolean ...@@ -834,7 +865,8 @@ accessForward(): boolean
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -849,7 +881,8 @@ struct WebComponent { ...@@ -849,7 +881,8 @@ struct WebComponent {
let result = this.controller.accessForward(); let result = this.controller.accessForward();
console.log('result:' + result); console.log('result:' + result);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -878,7 +911,8 @@ forward(): void ...@@ -878,7 +911,8 @@ forward(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -892,7 +926,8 @@ struct WebComponent { ...@@ -892,7 +926,8 @@ struct WebComponent {
try { try {
this.controller.forward(); this.controller.forward();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -927,7 +962,8 @@ accessBackward(): boolean ...@@ -927,7 +962,8 @@ accessBackward(): boolean
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -942,7 +978,8 @@ struct WebComponent { ...@@ -942,7 +978,8 @@ struct WebComponent {
let result = this.controller.accessBackward(); let result = this.controller.accessBackward();
console.log('result:' + result); console.log('result:' + result);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -971,7 +1008,8 @@ backward(): void ...@@ -971,7 +1008,8 @@ backward(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -985,7 +1023,8 @@ struct WebComponent { ...@@ -985,7 +1023,8 @@ struct WebComponent {
try { try {
this.controller.backward(); this.controller.backward();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1014,7 +1053,8 @@ onActive(): void ...@@ -1014,7 +1053,8 @@ onActive(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1028,7 +1068,8 @@ struct WebComponent { ...@@ -1028,7 +1068,8 @@ struct WebComponent {
try { try {
this.controller.onActive(); this.controller.onActive();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1057,7 +1098,8 @@ onInactive(): void ...@@ -1057,7 +1098,8 @@ onInactive(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1071,7 +1113,8 @@ struct WebComponent { ...@@ -1071,7 +1113,8 @@ struct WebComponent {
try { try {
this.controller.onInactive(); this.controller.onInactive();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1099,7 +1142,8 @@ refresh(): void ...@@ -1099,7 +1142,8 @@ refresh(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1113,7 +1157,8 @@ struct WebComponent { ...@@ -1113,7 +1157,8 @@ struct WebComponent {
try { try {
this.controller.refresh(); this.controller.refresh();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1154,7 +1199,8 @@ accessStep(step: number): boolean ...@@ -1154,7 +1199,8 @@ accessStep(step: number): boolean
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1170,7 +1216,8 @@ struct WebComponent { ...@@ -1170,7 +1216,8 @@ struct WebComponent {
let result = this.controller.accessStep(this.steps); let result = this.controller.accessStep(this.steps);
console.log('result:' + result); console.log('result:' + result);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1199,7 +1246,8 @@ clearHistory(): void ...@@ -1199,7 +1246,8 @@ clearHistory(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1213,7 +1261,8 @@ struct WebComponent { ...@@ -1213,7 +1261,8 @@ struct WebComponent {
try { try {
this.controller.clearHistory(); this.controller.clearHistory();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1248,7 +1297,8 @@ getHitTest(): WebHitTestType ...@@ -1248,7 +1297,8 @@ getHitTest(): WebHitTestType
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1263,7 +1313,8 @@ struct WebComponent { ...@@ -1263,7 +1313,8 @@ struct WebComponent {
let hitTestType = this.controller.getHitTest(); let hitTestType = this.controller.getHitTest();
console.log("hitTestType: " + hitTestType); console.log("hitTestType: " + hitTestType);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1300,20 +1351,27 @@ registerJavaScriptProxy(object: object, name: string, methodList: Array\<string> ...@@ -1300,20 +1351,27 @@ registerJavaScriptProxy(object: object, name: string, methodList: Array\<string>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
class testObj {
constructor() {
}
test(): string {
return "ArkUI Web Component";
}
toString(): void {
console.log('Web Component toString');
}
}
@Entry @Entry
@Component @Component
struct Index { struct Index {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
testObj = { @State testObjtest: testObj = new testObj();
test: (data) => {
return "ArkUI Web Component";
},
toString: () => {
console.log('Web Component toString');
}
}
build() { build() {
Column() { Column() {
...@@ -1322,15 +1380,17 @@ struct Index { ...@@ -1322,15 +1380,17 @@ struct Index {
try { try {
this.controller.refresh(); this.controller.refresh();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Button('Register JavaScript To Window') Button('Register JavaScript To Window')
.onClick(() => { .onClick(() => {
try { try {
this.controller.registerJavaScriptProxy(this.testObj, "objName", ["test", "toString"]); this.controller.registerJavaScriptProxy(this.testObjtest, "objName", ["test", "toString"]);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
...@@ -1386,7 +1446,8 @@ runJavaScript(script: string, callback : AsyncCallback\<string>): void ...@@ -1386,7 +1446,8 @@ runJavaScript(script: string, callback : AsyncCallback\<string>): void
**示例:** **示例:**
```ts ```ts
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1413,9 +1474,12 @@ struct WebComponent { ...@@ -1413,9 +1474,12 @@ struct WebComponent {
console.info(`The test() return value is: ${result}`) console.info(`The test() return value is: ${result}`)
} }
}); });
console.info('url: ', e.url); if (e) {
console.info('url: ', e.url);
}
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
} }
...@@ -1473,7 +1537,8 @@ runJavaScript(script: string): Promise\<string> ...@@ -1473,7 +1537,8 @@ runJavaScript(script: string): Promise\<string>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1487,15 +1552,18 @@ struct WebComponent { ...@@ -1487,15 +1552,18 @@ struct WebComponent {
.onPageEnd(e => { .onPageEnd(e => {
try { try {
this.controller.runJavaScript('test()') this.controller.runJavaScript('test()')
.then(function (result) { .then((result) => {
console.log('result: ' + result); console.log('result: ' + result);
}) })
.catch(function (error) { .catch((error: business_error.BusinessError) => {
console.error("error: " + error); console.error("error: " + error);
}) })
console.info('url: ', e.url); if (e) {
console.info('url: ', e.url);
}
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
} }
...@@ -1547,7 +1615,8 @@ runJavaScriptExt(script: string, callback : AsyncCallback\<JsMessageExt>): void ...@@ -1547,7 +1615,8 @@ runJavaScriptExt(script: string, callback : AsyncCallback\<JsMessageExt>): void
**示例:** **示例:**
```ts ```ts
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1573,47 +1642,51 @@ struct WebComponent { ...@@ -1573,47 +1642,51 @@ struct WebComponent {
} }
if (result) { if (result) {
try { try {
var type = result.getType(); let type = result.getType();
switch (type) { switch (type) {
case web_webview.JsMessageType.STRING: { case web_webview.JsMessageType.STRING: {
this.msg1 = "result type:" + typeof (result.getString()); this.msg1 = "result type:" + typeof (result.getString());
this.msg2 = "result getString:" + ((result.getString())); this.msg2 = "result getString:" + ((result.getString()));
break; break;
}
case web_webview.JsMessageType.NUMBER: {
this.msg1 = "result type:" + typeof (result.getNumber());
this.msg2 = "result getNumber:" + ((result.getNumber()));
break;
}
case web_webview.JsMessageType.BOOLEAN: {
this.msg1 = "result type:" + typeof (result.getBoolean());
this.msg2 = "result getBoolean:" + ((result.getBoolean()));
break;
}
case web_webview.JsMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.JsMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
} }
case web_webview.JsMessageType.NUMBER: {
this.msg1 = "result type:" + typeof (result.getNumber());
this.msg2 = "result getNumber:" + ((result.getNumber()));
break;
}
case web_webview.JsMessageType.BOOLEAN: {
this.msg1 = "result type:" + typeof (result.getBoolean());
this.msg2 = "result getBoolean:" + ((result.getBoolean()));
break;
}
case web_webview.JsMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.JsMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
}
} }
catch (resError) { catch (resError) {
console.log(`log error code: ${resError.code}, Message: ${resError.message}`); let e: business_error.BusinessError = resError as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
} }
}); });
console.info('url: ', e.url); if (e) {
console.info('url: ', e.url);
}
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
} }
...@@ -1669,7 +1742,8 @@ runJavaScriptExt(script: string): Promise\<JsMessageExt> ...@@ -1669,7 +1742,8 @@ runJavaScriptExt(script: string): Promise\<JsMessageExt>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1687,49 +1761,50 @@ struct WebComponent { ...@@ -1687,49 +1761,50 @@ struct WebComponent {
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
.javaScriptAccess(true) .javaScriptAccess(true)
.onPageEnd(e => { .onPageEnd(e => {
this.controller.runJavaScriptExt('test()') this.controller.runJavaScriptExt('test()')
.then((result) => { .then((result) => {
try { try {
var type = result.getType(); let type = result.getType();
switch (type) { switch (type) {
case web_webview.JsMessageType.STRING: { case web_webview.JsMessageType.STRING: {
this.msg1 = "result type:" + typeof (result.getString()); this.msg1 = "result type:" + typeof (result.getString());
this.msg2 = "result getString:" + ((result.getString())); this.msg2 = "result getString:" + ((result.getString()));
break; break;
}
case web_webview.JsMessageType.NUMBER: {
this.msg1 = "result type:" + typeof (result.getNumber());
this.msg2 = "result getNumber:" + ((result.getNumber()));
break;
}
case web_webview.JsMessageType.BOOLEAN: {
this.msg1 = "result type:" + typeof (result.getBoolean());
this.msg2 = "result getBoolean:" + ((result.getBoolean()));
break;
}
case web_webview.JsMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.JsMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
}
} }
catch (resError) { case web_webview.JsMessageType.NUMBER: {
console.log(`log error code: ${resError.code}, Message: ${resError.message}`); this.msg1 = "result type:" + typeof (result.getNumber());
this.msg2 = "result getNumber:" + ((result.getNumber()));
break;
} }
}) case web_webview.JsMessageType.BOOLEAN: {
.catch(function (error) { this.msg1 = "result type:" + typeof (result.getBoolean());
console.error("error: " + error); this.msg2 = "result getBoolean:" + ((result.getBoolean()));
}) break;
}
case web_webview.JsMessageType.ARRAY_BUFFER: {
this.msg1 = "result type:" + typeof (result.getArrayBuffer());
this.msg2 = "result getArrayBuffer byteLength:" + ((result.getArrayBuffer().byteLength));
break;
}
case web_webview.JsMessageType.ARRAY: {
this.msg1 = "result type:" + typeof (result.getArray());
this.msg2 = "result getArray:" + result.getArray();
break;
}
default: {
this.msg1 = "default break, type:" + type;
break;
}
}
}
catch (resError) {
let e: business_error.BusinessError = resError as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
.catch((error: business_error.BusinessError) => {
console.error("error: " + error);
})
}) })
} }
} }
...@@ -1779,7 +1854,8 @@ deleteJavaScriptRegister(name: string): void ...@@ -1779,7 +1854,8 @@ deleteJavaScriptRegister(name: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1794,7 +1870,8 @@ struct WebComponent { ...@@ -1794,7 +1870,8 @@ struct WebComponent {
try { try {
this.controller.deleteJavaScriptRegister(this.name); this.controller.deleteJavaScriptRegister(this.name);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1830,7 +1907,8 @@ zoom(factor: number): void ...@@ -1830,7 +1907,8 @@ zoom(factor: number): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1845,7 +1923,8 @@ struct WebComponent { ...@@ -1845,7 +1923,8 @@ struct WebComponent {
try { try {
this.controller.zoom(this.factor); this.controller.zoom(this.factor);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1880,7 +1959,8 @@ searchAllAsync(searchString: string): void ...@@ -1880,7 +1959,8 @@ searchAllAsync(searchString: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1895,13 +1975,16 @@ struct WebComponent { ...@@ -1895,13 +1975,16 @@ struct WebComponent {
try { try {
this.controller.searchAllAsync(this.searchString); this.controller.searchAllAsync(this.searchString);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
.onSearchResultReceive(ret => { .onSearchResultReceive(ret => {
console.log("on search result receive:" + "[cur]" + ret.activeMatchOrdinal + if (ret) {
"[total]" + ret.numberOfMatches + "[isDone]" + ret.isDoneCounting); console.log("on search result receive:" + "[cur]" + ret.activeMatchOrdinal +
"[total]" + ret.numberOfMatches + "[isDone]" + ret.isDoneCounting);
}
}) })
} }
} }
...@@ -1928,7 +2011,8 @@ clearMatches(): void ...@@ -1928,7 +2011,8 @@ clearMatches(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1942,7 +2026,8 @@ struct WebComponent { ...@@ -1942,7 +2026,8 @@ struct WebComponent {
try { try {
this.controller.clearMatches(); this.controller.clearMatches();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -1977,7 +2062,8 @@ searchNext(forward: boolean): void ...@@ -1977,7 +2062,8 @@ searchNext(forward: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -1991,7 +2077,8 @@ struct WebComponent { ...@@ -1991,7 +2077,8 @@ struct WebComponent {
try { try {
this.controller.searchNext(true); this.controller.searchNext(true);
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2020,7 +2107,8 @@ clearSslCache(): void ...@@ -2020,7 +2107,8 @@ clearSslCache(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2034,7 +2122,8 @@ struct WebComponent { ...@@ -2034,7 +2122,8 @@ struct WebComponent {
try { try {
this.controller.clearSslCache(); this.controller.clearSslCache();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2063,7 +2152,8 @@ clearClientAuthenticationCache(): void ...@@ -2063,7 +2152,8 @@ clearClientAuthenticationCache(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2077,7 +2167,8 @@ struct WebComponent { ...@@ -2077,7 +2167,8 @@ struct WebComponent {
try { try {
this.controller.clearClientAuthenticationCache(); this.controller.clearClientAuthenticationCache();
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2118,13 +2209,14 @@ createWebMessagePorts(isExtentionType?: boolean): Array\<WebMessagePort> ...@@ -2118,13 +2209,14 @@ createWebMessagePorts(isExtentionType?: boolean): Array\<WebMessagePort>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[]; ports: web_webview.WebMessagePort[] = [];
build() { build() {
Column() { Column() {
...@@ -2134,7 +2226,8 @@ struct WebComponent { ...@@ -2134,7 +2226,8 @@ struct WebComponent {
this.ports = this.controller.createWebMessagePorts(); this.ports = this.controller.createWebMessagePorts();
console.log("createWebMessagePorts size:" + this.ports.length) console.log("createWebMessagePorts size:" + this.ports.length)
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2172,12 +2265,13 @@ postMessage(name: string, ports: Array\<WebMessagePort>, uri: string): void ...@@ -2172,12 +2265,13 @@ postMessage(name: string, ports: Array\<WebMessagePort>, uri: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
ports: web_webview.WebMessagePort[]; ports: web_webview.WebMessagePort[] = [];
@State sendFromEts: string = 'Send this message from ets to HTML'; @State sendFromEts: string = 'Send this message from ets to HTML';
@State receivedFromHtml: string = 'Display received message send from HTML'; @State receivedFromHtml: string = 'Display received message send from HTML';
...@@ -2186,10 +2280,10 @@ struct WebComponent { ...@@ -2186,10 +2280,10 @@ struct WebComponent {
// 展示接收到的来自HTML的内容 // 展示接收到的来自HTML的内容
Text(this.receivedFromHtml) Text(this.receivedFromHtml)
// 输入框的内容发送到html // 输入框的内容发送到html
TextInput({placeholder: 'Send this message from ets to HTML'}) TextInput({ placeholder: 'Send this message from ets to HTML' })
.onChange((value: string) => { .onChange((value: string) => {
this.sendFromEts = value; this.sendFromEts = value;
}) })
Button('postMessage') Button('postMessage')
.onClick(() => { .onClick(() => {
...@@ -2217,7 +2311,8 @@ struct WebComponent { ...@@ -2217,7 +2311,8 @@ struct WebComponent {
// 3、将另一个消息端口(如端口0)发送到HTML侧,由HTML侧保存并使用。 // 3、将另一个消息端口(如端口0)发送到HTML侧,由HTML侧保存并使用。
this.controller.postMessage('__init_port__', [this.ports[0]], '*'); this.controller.postMessage('__init_port__', [this.ports[0]], '*');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -2231,7 +2326,8 @@ struct WebComponent { ...@@ -2231,7 +2326,8 @@ struct WebComponent {
console.error(`ports is null, Please initialize first`); console.error(`ports is null, Please initialize first`);
} }
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
...@@ -2324,6 +2420,7 @@ requestFocus(): void ...@@ -2324,6 +2420,7 @@ requestFocus(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2337,7 +2434,8 @@ struct WebComponent { ...@@ -2337,7 +2434,8 @@ struct WebComponent {
try { try {
this.controller.requestFocus(); this.controller.requestFocus();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}); });
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2368,6 +2466,7 @@ zoomIn(): void ...@@ -2368,6 +2466,7 @@ zoomIn(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2381,7 +2480,8 @@ struct WebComponent { ...@@ -2381,7 +2480,8 @@ struct WebComponent {
try { try {
this.controller.zoomIn(); this.controller.zoomIn();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2412,6 +2512,7 @@ zoomOut(): void ...@@ -2412,6 +2512,7 @@ zoomOut(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2425,7 +2526,8 @@ struct WebComponent { ...@@ -2425,7 +2526,8 @@ struct WebComponent {
try { try {
this.controller.zoomOut(); this.controller.zoomOut();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2461,6 +2563,7 @@ getHitTestValue(): HitTestValue ...@@ -2461,6 +2563,7 @@ getHitTestValue(): HitTestValue
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2476,7 +2579,8 @@ struct WebComponent { ...@@ -2476,7 +2579,8 @@ struct WebComponent {
console.log("hitType: " + hitValue.type); console.log("hitType: " + hitValue.type);
console.log("extra: " + hitValue.extra); console.log("extra: " + hitValue.extra);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2512,6 +2616,7 @@ getWebId(): number ...@@ -2512,6 +2616,7 @@ getWebId(): number
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2526,7 +2631,8 @@ struct WebComponent { ...@@ -2526,7 +2631,8 @@ struct WebComponent {
let id = this.controller.getWebId(); let id = this.controller.getWebId();
console.log("id: " + id); console.log("id: " + id);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2562,12 +2668,13 @@ getUserAgent(): string ...@@ -2562,12 +2668,13 @@ getUserAgent(): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
build() { build() {
Column() { Column() {
Button('getUserAgent') Button('getUserAgent')
...@@ -2576,7 +2683,8 @@ struct WebComponent { ...@@ -2576,7 +2683,8 @@ struct WebComponent {
let userAgent = this.controller.getUserAgent(); let userAgent = this.controller.getUserAgent();
console.log("userAgent: " + userAgent); console.log("userAgent: " + userAgent);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2589,6 +2697,7 @@ struct WebComponent { ...@@ -2589,6 +2697,7 @@ struct WebComponent {
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2602,7 +2711,8 @@ struct WebComponent { ...@@ -2602,7 +2711,8 @@ struct WebComponent {
// 应用侧用法示例,定制UserAgent。 // 应用侧用法示例,定制UserAgent。
this.ua = this.controller.getUserAgent() + 'xxx'; this.ua = this.controller.getUserAgent() + 'xxx';
} catch(error) { } catch(error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
} }
...@@ -2643,6 +2753,7 @@ getTitle(): string ...@@ -2643,6 +2753,7 @@ getTitle(): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2657,7 +2768,8 @@ struct WebComponent { ...@@ -2657,7 +2768,8 @@ struct WebComponent {
let title = this.controller.getTitle(); let title = this.controller.getTitle();
console.log("title: " + title); console.log("title: " + title);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2693,6 +2805,7 @@ getPageHeight(): number ...@@ -2693,6 +2805,7 @@ getPageHeight(): number
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2707,7 +2820,8 @@ struct WebComponent { ...@@ -2707,7 +2820,8 @@ struct WebComponent {
let pageHeight = this.controller.getPageHeight(); let pageHeight = this.controller.getPageHeight();
console.log("pageHeight : " + pageHeight); console.log("pageHeight : " + pageHeight);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2746,6 +2860,7 @@ storeWebArchive(baseName: string, autoName: boolean, callback: AsyncCallback\<st ...@@ -2746,6 +2860,7 @@ storeWebArchive(baseName: string, autoName: boolean, callback: AsyncCallback\<st
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -2767,7 +2882,8 @@ struct WebComponent { ...@@ -2767,7 +2882,8 @@ struct WebComponent {
} }
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2811,6 +2927,7 @@ storeWebArchive(baseName: string, autoName: boolean): Promise\<string> ...@@ -2811,6 +2927,7 @@ storeWebArchive(baseName: string, autoName: boolean): Promise\<string>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -2828,11 +2945,12 @@ struct WebComponent { ...@@ -2828,11 +2945,12 @@ struct WebComponent {
console.info(`save web archive success: ${filename}`) console.info(`save web archive success: ${filename}`)
} }
}) })
.catch(error => { .catch((error:business_error.BusinessError) => {
console.log('error: ' + JSON.stringify(error)); console.log('error: ' + JSON.stringify(error));
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2868,6 +2986,7 @@ getUrl(): string ...@@ -2868,6 +2986,7 @@ getUrl(): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2882,7 +3001,8 @@ struct WebComponent { ...@@ -2882,7 +3001,8 @@ struct WebComponent {
let url = this.controller.getUrl(); let url = this.controller.getUrl();
console.log("url: " + url); console.log("url: " + url);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2912,6 +3032,7 @@ stop(): void ...@@ -2912,6 +3032,7 @@ stop(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2925,7 +3046,8 @@ struct WebComponent { ...@@ -2925,7 +3046,8 @@ struct WebComponent {
try { try {
this.controller.stop(); this.controller.stop();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}); });
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -2963,6 +3085,7 @@ backOrForward(step: number): void ...@@ -2963,6 +3085,7 @@ backOrForward(step: number): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -2977,7 +3100,8 @@ struct WebComponent { ...@@ -2977,7 +3100,8 @@ struct WebComponent {
try { try {
this.controller.backOrForward(this.step); this.controller.backOrForward(this.step);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3014,6 +3138,7 @@ scrollTo(x:number, y:number): void ...@@ -3014,6 +3138,7 @@ scrollTo(x:number, y:number): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3027,7 +3152,8 @@ struct WebComponent { ...@@ -3027,7 +3152,8 @@ struct WebComponent {
try { try {
this.controller.scrollTo(50, 50); this.controller.scrollTo(50, 50);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
...@@ -3087,6 +3213,7 @@ scrollBy(deltaX:number, deltaY:number): void ...@@ -3087,6 +3213,7 @@ scrollBy(deltaX:number, deltaY:number): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3100,7 +3227,8 @@ struct WebComponent { ...@@ -3100,7 +3227,8 @@ struct WebComponent {
try { try {
this.controller.scrollBy(50, 50); this.controller.scrollBy(50, 50);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
...@@ -3160,6 +3288,7 @@ slideScroll(vx:number, vy:number): void ...@@ -3160,6 +3288,7 @@ slideScroll(vx:number, vy:number): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3173,7 +3302,8 @@ struct WebComponent { ...@@ -3173,7 +3302,8 @@ struct WebComponent {
try { try {
this.controller.slideScroll(500, 500); this.controller.slideScroll(500, 500);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: $rawfile('index.html'), controller: this.controller }) Web({ src: $rawfile('index.html'), controller: this.controller })
...@@ -3232,6 +3362,7 @@ getOriginalUrl(): string ...@@ -3232,6 +3362,7 @@ getOriginalUrl(): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3246,7 +3377,8 @@ struct WebComponent { ...@@ -3246,7 +3377,8 @@ struct WebComponent {
let url = this.controller.getOriginalUrl(); let url = this.controller.getOriginalUrl();
console.log("original url: " + url); console.log("original url: " + url);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3282,12 +3414,14 @@ getFavicon(): image.PixelMap ...@@ -3282,12 +3414,14 @@ getFavicon(): image.PixelMap
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import image from "@ohos.multimedia.image" import image from "@ohos.multimedia.image";
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
@State pixelmap: image.PixelMap = undefined; @State pixelmap: image.PixelMap | undefined = undefined;
build() { build() {
Column() { Column() {
...@@ -3296,7 +3430,8 @@ struct WebComponent { ...@@ -3296,7 +3430,8 @@ struct WebComponent {
try { try {
this.pixelmap = this.controller.getFavicon(); this.pixelmap = this.controller.getFavicon();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3332,6 +3467,7 @@ setNetworkAvailable(enable: boolean): void ...@@ -3332,6 +3467,7 @@ setNetworkAvailable(enable: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3345,7 +3481,8 @@ struct WebComponent { ...@@ -3345,7 +3481,8 @@ struct WebComponent {
try { try {
this.controller.setNetworkAvailable(true); this.controller.setNetworkAvailable(true);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3381,6 +3518,7 @@ hasImage(callback: AsyncCallback\<boolean>): void ...@@ -3381,6 +3518,7 @@ hasImage(callback: AsyncCallback\<boolean>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3400,7 +3538,8 @@ struct WebComponent { ...@@ -3400,7 +3538,8 @@ struct WebComponent {
console.info("hasImage: " + data); console.info("hasImage: " + data);
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3436,6 +3575,7 @@ hasImage(): Promise\<boolean> ...@@ -3436,6 +3575,7 @@ hasImage(): Promise\<boolean>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3450,11 +3590,12 @@ struct WebComponent { ...@@ -3450,11 +3590,12 @@ struct WebComponent {
this.controller.hasImage().then((data) => { this.controller.hasImage().then((data) => {
console.info('hasImage: ' + data); console.info('hasImage: ' + data);
}) })
.catch(function (error) { .catch((error:business_error.BusinessError) => {
console.error("error: " + error); console.error("error: " + error);
}) })
} catch (error) { } catch (error) {
console.error(`Errorcode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3490,6 +3631,7 @@ removeCache(clearRom: boolean): void ...@@ -3490,6 +3631,7 @@ removeCache(clearRom: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3503,7 +3645,8 @@ struct WebComponent { ...@@ -3503,7 +3645,8 @@ struct WebComponent {
try { try {
this.controller.removeCache(false); this.controller.removeCache(false);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3539,6 +3682,7 @@ pageUp(top:boolean): void ...@@ -3539,6 +3682,7 @@ pageUp(top:boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3552,7 +3696,8 @@ struct WebComponent { ...@@ -3552,7 +3696,8 @@ struct WebComponent {
try { try {
this.controller.pageUp(false); this.controller.pageUp(false);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3588,6 +3733,7 @@ pageDown(bottom:boolean): void ...@@ -3588,6 +3733,7 @@ pageDown(bottom:boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3601,7 +3747,8 @@ struct WebComponent { ...@@ -3601,7 +3747,8 @@ struct WebComponent {
try { try {
this.controller.pageDown(false); this.controller.pageDown(false);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3637,6 +3784,7 @@ getBackForwardEntries(): BackForwardList ...@@ -3637,6 +3784,7 @@ getBackForwardEntries(): BackForwardList
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3650,7 +3798,8 @@ struct WebComponent { ...@@ -3650,7 +3798,8 @@ struct WebComponent {
try { try {
let list = this.controller.getBackForwardEntries() let list = this.controller.getBackForwardEntries()
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3688,6 +3837,7 @@ serializeWebState(): Uint8Array ...@@ -3688,6 +3837,7 @@ serializeWebState(): Uint8Array
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3700,15 +3850,17 @@ struct WebComponent { ...@@ -3700,15 +3850,17 @@ struct WebComponent {
.onClick(() => { .onClick(() => {
try { try {
let state = this.controller.serializeWebState(); let state = this.controller.serializeWebState();
// globalThis.cacheDir从EntryAbility.ts中获取。 let path:string | undefined = AppStorage.get("cacheDir");
let path = globalThis.cacheDir; if (path) {
path += '/WebState'; path += '/WebState';
// 以同步方法打开文件。 // 以同步方法打开文件。
let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); let file = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.writeSync(file.fd, state.buffer); fs.writeSync(file.fd, state.buffer);
fs.closeSync(file.fd); fs.closeSync(file.fd);
}
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3723,11 +3875,13 @@ struct WebComponent { ...@@ -3723,11 +3875,13 @@ struct WebComponent {
// 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';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
// 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。 // 通过在AppStorage对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。
globalThis.cacheDir = this.context.cacheDir; AppStorage.setOrCreate("cacheDir", this.context.cacheDir);
} }
} }
``` ```
...@@ -3761,6 +3915,7 @@ restoreWebState(state: Uint8Array): void ...@@ -3761,6 +3915,7 @@ restoreWebState(state: Uint8Array): void
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import fs from '@ohos.file.fs'; import fs from '@ohos.file.fs';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3772,25 +3927,27 @@ struct WebComponent { ...@@ -3772,25 +3927,27 @@ struct WebComponent {
Button('RestoreWebState') Button('RestoreWebState')
.onClick(() => { .onClick(() => {
try { try {
// globalThis.cacheDir从EntryAbility.ts中获取。 let path:string | undefined = AppStorage.get("cacheDir");
let path = globalThis.cacheDir; if (path) {
path += '/WebState'; path += '/WebState';
// 以同步方法打开文件。 // 以同步方法打开文件。
let file = fs.openSync(path, fs.OpenMode.READ_WRITE); let file = fs.openSync(path, fs.OpenMode.READ_WRITE);
let stat = fs.statSync(path); let stat = fs.statSync(path);
let size = stat.size; let size = stat.size;
let buf = new ArrayBuffer(size); let buf = new ArrayBuffer(size);
fs.read(file.fd, buf, (err, readLen) => { fs.read(file.fd, buf, (err, readLen) => {
if (err) { if (err) {
console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code); console.info("mkdir failed with error message: " + err.message + ", error code: " + err.code);
} else { } else {
console.info("read file data succeed"); console.info("read file data succeed");
this.controller.restoreWebState(new Uint8Array(buf.slice(0, readLen))); this.controller.restoreWebState(new Uint8Array(buf.slice(0, readLen)));
fs.closeSync(file); fs.closeSync(file);
} }
}); });
}
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -3805,11 +3962,13 @@ struct WebComponent { ...@@ -3805,11 +3962,13 @@ struct WebComponent {
// 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';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
// 通过在globalThis对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。 // 通过在AppStorage对象上绑定cacheDir,可以实现UIAbility组件与Page之间的数据同步。
globalThis.cacheDir = this.context.cacheDir; AppStorage.setOrCreate("cacheDir", this.context.cacheDir);
} }
} }
``` ```
...@@ -3833,6 +3992,7 @@ static customizeSchemes(schemes: Array\<WebCustomScheme\>): void ...@@ -3833,6 +3992,7 @@ static customizeSchemes(schemes: Array\<WebCustomScheme\>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -3847,7 +4007,8 @@ struct WebComponent { ...@@ -3847,7 +4007,8 @@ struct WebComponent {
try { try {
web_webview.WebviewController.customizeSchemes([this.scheme1, this.scheme2, this.scheme3]) web_webview.WebviewController.customizeSchemes([this.scheme1, this.scheme2, this.scheme3])
} catch(error) { } catch(error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
} }
...@@ -3855,7 +4016,9 @@ struct WebComponent { ...@@ -3855,7 +4016,9 @@ struct WebComponent {
Column() { Column() {
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
.onInterceptRequest((event) => { .onInterceptRequest((event) => {
console.log('url:' + event.request.getRequestUrl()) if (event) {
console.log('url:' + event.request.getRequestUrl())
}
return this.responseweb return this.responseweb
}) })
} }
...@@ -3890,16 +4053,18 @@ getCertificate(): Promise<Array<cert.X509Cert>> ...@@ -3890,16 +4053,18 @@ getCertificate(): Promise<Array<cert.X509Cert>>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
import cert from '@ohos.security.cert';
function Uint8ArrayToString(dataArray) { function Uint8ArrayToString(dataArray:Uint8Array) {
var dataString = '' let dataString = ''
for (var i = 0; i < dataArray.length; i++) { for (let i = 0; i < dataArray.length; i++) {
dataString += String.fromCharCode(dataArray[i]) dataString += String.fromCharCode(dataArray[i])
} }
return dataString return dataString
} }
function ParseX509CertInfo(x509CertArray) { function ParseX509CertInfo(x509CertArray:Array<cert.X509Cert>) {
let res: string = 'getCertificate success: len = ' + x509CertArray.length; let res: string = 'getCertificate success: len = ' + x509CertArray.length;
for (let i = 0; i < x509CertArray.length; i++) { for (let i = 0; i < x509CertArray.length; i++) {
res += ', index = ' + i + ', issuer name = ' res += ', index = ' + i + ', issuer name = '
...@@ -3959,11 +4124,12 @@ struct Index { ...@@ -3959,11 +4124,12 @@ struct Index {
.type(ButtonType.Capsule) .type(ButtonType.Capsule)
.onClick(() => { .onClick(() => {
try { try {
this.webviewCtl.getCertificate().then(x509CertArray => { this.webviewCtl.getCertificate().then((x509CertArray:Array<cert.X509Cert>) => {
this.outputStr = ParseX509CertInfo(x509CertArray); this.outputStr = ParseX509CertInfo(x509CertArray);
}) })
} catch (error) { } catch (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; let e:business_error.BusinessError = error as business_error.BusinessError;
this.outputStr = 'getCertificate failed: ' + e.code + ", errMsg: " + e.message;
} }
}) })
.height(50) .height(50)
...@@ -3978,7 +4144,7 @@ struct Index { ...@@ -3978,7 +4144,7 @@ struct Index {
.type(ButtonType.Capsule) .type(ButtonType.Capsule)
.onClick(() => { .onClick(() => {
try { try {
this.webviewCtl.getCertificate((error, x509CertArray) => { this.webviewCtl.getCertificate((error:business_error.BusinessError, x509CertArray:Array<cert.X509Cert>) => {
if (error) { if (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message;
} else { } else {
...@@ -3986,7 +4152,8 @@ struct Index { ...@@ -3986,7 +4152,8 @@ struct Index {
} }
}) })
} catch (error) { } catch (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; let e:business_error.BusinessError = error as business_error.BusinessError;
this.outputStr = 'getCertificate failed: ' + e.code + ", errMsg: " + e.message;
} }
}) })
.height(50) .height(50)
...@@ -4005,7 +4172,9 @@ struct Index { ...@@ -4005,7 +4172,9 @@ struct Index {
.domStorageAccess(true) .domStorageAccess(true)
.onlineImageAccess(true) .onlineImageAccess(true)
.onPageEnd((e) => { .onPageEnd((e) => {
this.outputStr = 'onPageEnd : url = ' + e.url if(e) {
this.outputStr = 'onPageEnd : url = ' + e.url
}
}) })
.onSslErrorEventReceive((e) => { .onSslErrorEventReceive((e) => {
// 忽略ssl证书错误,便于测试一些证书过期的网站,如:https://expired.badssl.com // 忽略ssl证书错误,便于测试一些证书过期的网站,如:https://expired.badssl.com
...@@ -4047,16 +4216,18 @@ getCertificate(callback: AsyncCallback<Array<cert.X509Cert>>): void ...@@ -4047,16 +4216,18 @@ getCertificate(callback: AsyncCallback<Array<cert.X509Cert>>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
import cert from '@ohos.security.cert';
function Uint8ArrayToString(dataArray) { function Uint8ArrayToString(dataArray:Uint8Array) {
var dataString = '' let dataString = ''
for (var i = 0; i < dataArray.length; i++) { for (let i = 0; i < dataArray.length; i++) {
dataString += String.fromCharCode(dataArray[i]) dataString += String.fromCharCode(dataArray[i])
} }
return dataString return dataString
} }
function ParseX509CertInfo(x509CertArray) { function ParseX509CertInfo(x509CertArray:Array<cert.X509Cert>) {
let res: string = 'getCertificate success: len = ' + x509CertArray.length; let res: string = 'getCertificate success: len = ' + x509CertArray.length;
for (let i = 0; i < x509CertArray.length; i++) { for (let i = 0; i < x509CertArray.length; i++) {
res += ', index = ' + i + ', issuer name = ' res += ', index = ' + i + ', issuer name = '
...@@ -4116,11 +4287,12 @@ struct Index { ...@@ -4116,11 +4287,12 @@ struct Index {
.type(ButtonType.Capsule) .type(ButtonType.Capsule)
.onClick(() => { .onClick(() => {
try { try {
this.webviewCtl.getCertificate().then(x509CertArray => { this.webviewCtl.getCertificate().then((x509CertArray:Array<cert.X509Cert>) => {
this.outputStr = ParseX509CertInfo(x509CertArray); this.outputStr = ParseX509CertInfo(x509CertArray);
}) })
} catch (error) { } catch (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; let e:business_error.BusinessError = error as business_error.BusinessError;
this.outputStr = 'getCertificate failed: ' + e.code + ", errMsg: " + e.message;
} }
}) })
.height(50) .height(50)
...@@ -4135,7 +4307,7 @@ struct Index { ...@@ -4135,7 +4307,7 @@ struct Index {
.type(ButtonType.Capsule) .type(ButtonType.Capsule)
.onClick(() => { .onClick(() => {
try { try {
this.webviewCtl.getCertificate((error, x509CertArray) => { this.webviewCtl.getCertificate((error:business_error.BusinessError, x509CertArray:Array<cert.X509Cert>) => {
if (error) { if (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message;
} else { } else {
...@@ -4143,7 +4315,8 @@ struct Index { ...@@ -4143,7 +4315,8 @@ struct Index {
} }
}) })
} catch (error) { } catch (error) {
this.outputStr = 'getCertificate failed: ' + error.code + ", errMsg: " + error.message; let e:business_error.BusinessError = error as business_error.BusinessError;
this.outputStr = 'getCertificate failed: ' + e.code + ", errMsg: " + e.message;
} }
}) })
.height(50) .height(50)
...@@ -4162,7 +4335,9 @@ struct Index { ...@@ -4162,7 +4335,9 @@ struct Index {
.domStorageAccess(true) .domStorageAccess(true)
.onlineImageAccess(true) .onlineImageAccess(true)
.onPageEnd((e) => { .onPageEnd((e) => {
this.outputStr = 'onPageEnd : url = ' + e.url if (e) {
this.outputStr = 'onPageEnd : url = ' + e.url
}
}) })
.onSslErrorEventReceive((e) => { .onSslErrorEventReceive((e) => {
// 忽略ssl证书错误,便于测试一些证书过期的网站,如:https://expired.badssl.com // 忽略ssl证书错误,便于测试一些证书过期的网站,如:https://expired.badssl.com
...@@ -4252,6 +4427,7 @@ prefetchPage(url: string, additionalHeaders?: Array\<WebHeader>): void ...@@ -4252,6 +4427,7 @@ prefetchPage(url: string, additionalHeaders?: Array\<WebHeader>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4266,7 +4442,8 @@ struct WebComponent { ...@@ -4266,7 +4442,8 @@ struct WebComponent {
// 预加载时,需要将'https://www.example.com'替换成一个真实的网站地址。 // 预加载时,需要将'https://www.example.com'替换成一个真实的网站地址。
this.controller.prefetchPage('https://www.example.com'); this.controller.prefetchPage('https://www.example.com');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
// 需要将'www.example1.com'替换成一个真实的网站地址。 // 需要将'www.example1.com'替换成一个真实的网站地址。
...@@ -4307,14 +4484,16 @@ static prepareForPageLoad(url: string, preconnectable: boolean, numSockets: numb ...@@ -4307,14 +4484,16 @@ static prepareForPageLoad(url: string, preconnectable: boolean, numSockets: numb
// 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';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';
export default class EntryAbility extends UIAbility { export default class EntryAbility extends UIAbility {
onCreate(want, launchParam) { onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
console.log("EntryAbility onCreate") console.log("EntryAbility onCreate")
web_webview.WebviewController.initializeWebEngine() web_webview.WebviewController.initializeWebEngine()
// 预连接时,需要將'https://www.example.com'替换成一个真实的网站地址。 // 预连接时,需要將'https://www.example.com'替换成一个真实的网站地址。
web_webview.WebviewController.prepareForPageLoad("https://www.example.com", true, 2); web_webview.WebviewController.prepareForPageLoad("https://www.example.com", true, 2);
globalThis.abilityWant = want AppStorage.setOrCreate("abilityWant", want)
console.log("EntryAbility onCreate done") console.log("EntryAbility onCreate done")
} }
} }
...@@ -4347,6 +4526,7 @@ setCustomUserAgent(userAgent: string): void ...@@ -4347,6 +4526,7 @@ setCustomUserAgent(userAgent: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4361,7 +4541,8 @@ struct WebComponent { ...@@ -4361,7 +4541,8 @@ struct WebComponent {
try { try {
this.controller.setCustomUserAgent(this.userAgent); this.controller.setCustomUserAgent(this.userAgent);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4397,6 +4578,7 @@ getCustomUserAgent(): string ...@@ -4397,6 +4578,7 @@ getCustomUserAgent(): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4412,7 +4594,8 @@ struct WebComponent { ...@@ -4412,7 +4594,8 @@ struct WebComponent {
this.userAgent = this.controller.getCustomUserAgent(); this.userAgent = this.controller.getCustomUserAgent();
console.log("userAgent: " + this.userAgent); console.log("userAgent: " + this.userAgent);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4462,6 +4645,7 @@ static getCookie(url: string): string ...@@ -4462,6 +4645,7 @@ static getCookie(url: string): string
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4476,7 +4660,8 @@ struct WebComponent { ...@@ -4476,7 +4660,8 @@ struct WebComponent {
let value = web_webview.WebCookieManager.getCookie('https://www.example.com'); let value = web_webview.WebCookieManager.getCookie('https://www.example.com');
console.log("value: " + value); console.log("value: " + value);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4514,6 +4699,7 @@ static setCookie(url: string, value: string): void ...@@ -4514,6 +4699,7 @@ static setCookie(url: string, value: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4527,7 +4713,8 @@ struct WebComponent { ...@@ -4527,7 +4713,8 @@ struct WebComponent {
try { try {
web_webview.WebCookieManager.setCookie('https://www.example.com', 'a=b'); web_webview.WebCookieManager.setCookie('https://www.example.com', 'a=b');
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4555,6 +4742,7 @@ static saveCookieAsync(callback: AsyncCallback\<void>): void ...@@ -4555,6 +4742,7 @@ static saveCookieAsync(callback: AsyncCallback\<void>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4572,7 +4760,8 @@ struct WebComponent { ...@@ -4572,7 +4760,8 @@ struct WebComponent {
} }
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4600,6 +4789,7 @@ static saveCookieAsync(): Promise\<void> ...@@ -4600,6 +4789,7 @@ static saveCookieAsync(): Promise\<void>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4615,11 +4805,12 @@ struct WebComponent { ...@@ -4615,11 +4805,12 @@ struct WebComponent {
.then(() => { .then(() => {
console.log("saveCookieAsyncCallback success!"); console.log("saveCookieAsyncCallback success!");
}) })
.catch((error) => { .catch((error:business_error.BusinessError) => {
console.error("error: " + error); console.error("error: " + error);
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4647,6 +4838,7 @@ static putAcceptCookieEnabled(accept: boolean): void ...@@ -4647,6 +4838,7 @@ static putAcceptCookieEnabled(accept: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4660,7 +4852,8 @@ struct WebComponent { ...@@ -4660,7 +4852,8 @@ struct WebComponent {
try { try {
web_webview.WebCookieManager.putAcceptCookieEnabled(false); web_webview.WebCookieManager.putAcceptCookieEnabled(false);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4726,6 +4919,7 @@ static putAcceptThirdPartyCookieEnabled(accept: boolean): void ...@@ -4726,6 +4919,7 @@ static putAcceptThirdPartyCookieEnabled(accept: boolean): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview' import web_webview from '@ohos.web.webview'
import business_error from '@ohos.base'
@Entry @Entry
@Component @Component
...@@ -4739,7 +4933,8 @@ struct WebComponent { ...@@ -4739,7 +4933,8 @@ struct WebComponent {
try { try {
web_webview.WebCookieManager.putAcceptThirdPartyCookieEnabled(false); web_webview.WebCookieManager.putAcceptThirdPartyCookieEnabled(false);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e:business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -4921,6 +5116,7 @@ static deleteOrigin(origin : string): void ...@@ -4921,6 +5116,7 @@ static deleteOrigin(origin : string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -4935,7 +5131,8 @@ struct WebComponent { ...@@ -4935,7 +5131,8 @@ struct WebComponent {
try { try {
web_webview.WebStorage.deleteOrigin(this.origin); web_webview.WebStorage.deleteOrigin(this.origin);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -4973,6 +5170,7 @@ static getOrigins(callback: AsyncCallback\<Array\<WebStorageOrigin>>) : void ...@@ -4973,6 +5170,7 @@ static getOrigins(callback: AsyncCallback\<Array\<WebStorageOrigin>>) : void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -4996,7 +5194,8 @@ struct WebComponent { ...@@ -4996,7 +5194,8 @@ struct WebComponent {
} }
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5034,6 +5233,7 @@ static getOrigins() : Promise\<Array\<WebStorageOrigin>> ...@@ -5034,6 +5233,7 @@ static getOrigins() : Promise\<Array\<WebStorageOrigin>>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5053,11 +5253,12 @@ struct WebComponent { ...@@ -5053,11 +5253,12 @@ struct WebComponent {
console.log('quota: ' + origins[i].quota); console.log('quota: ' + origins[i].quota);
} }
}) })
.catch(e => { .catch((e : business_error.BusinessError) => {
console.log('error: ' + JSON.stringify(e)); console.log('error: ' + JSON.stringify(e));
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5096,6 +5297,7 @@ static getOriginQuota(origin : string, callback : AsyncCallback\<number>) : void ...@@ -5096,6 +5297,7 @@ static getOriginQuota(origin : string, callback : AsyncCallback\<number>) : void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5116,7 +5318,8 @@ struct WebComponent { ...@@ -5116,7 +5318,8 @@ struct WebComponent {
console.log('quota: ' + quota); console.log('quota: ' + quota);
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5160,6 +5363,7 @@ static getOriginQuota(origin : string) : Promise\<number> ...@@ -5160,6 +5363,7 @@ static getOriginQuota(origin : string) : Promise\<number>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5176,11 +5380,12 @@ struct WebComponent { ...@@ -5176,11 +5380,12 @@ struct WebComponent {
.then(quota => { .then(quota => {
console.log('quota: ' + quota); console.log('quota: ' + quota);
}) })
.catch(e => { .catch((e : business_error.BusinessError) => {
console.log('error: ' + JSON.stringify(e)); console.log('error: ' + JSON.stringify(e));
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5219,6 +5424,7 @@ static getOriginUsage(origin : string, callback : AsyncCallback\<number>) : void ...@@ -5219,6 +5424,7 @@ static getOriginUsage(origin : string, callback : AsyncCallback\<number>) : void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5239,7 +5445,8 @@ struct WebComponent { ...@@ -5239,7 +5445,8 @@ struct WebComponent {
console.log('usage: ' + usage); console.log('usage: ' + usage);
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5283,6 +5490,7 @@ static getOriginUsage(origin : string) : Promise\<number> ...@@ -5283,6 +5490,7 @@ static getOriginUsage(origin : string) : Promise\<number>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5299,11 +5507,12 @@ struct WebComponent { ...@@ -5299,11 +5507,12 @@ struct WebComponent {
.then(usage => { .then(usage => {
console.log('usage: ' + usage); console.log('usage: ' + usage);
}) })
.catch(e => { .catch((e : business_error.BusinessError) => {
console.log('error: ' + JSON.stringify(e)); console.log('error: ' + JSON.stringify(e));
}) })
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
...@@ -5327,6 +5536,7 @@ static deleteAllData(): void ...@@ -5327,6 +5536,7 @@ static deleteAllData(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5340,7 +5550,8 @@ struct WebComponent { ...@@ -5340,7 +5550,8 @@ struct WebComponent {
try { try {
web_webview.WebStorage.deleteAllData(); web_webview.WebStorage.deleteAllData();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5384,6 +5595,7 @@ static getHttpAuthCredentials(host: string, realm: string): Array\<string> ...@@ -5384,6 +5595,7 @@ static getHttpAuthCredentials(host: string, realm: string): Array\<string>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5391,7 +5603,7 @@ struct WebComponent { ...@@ -5391,7 +5603,7 @@ struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
host: string = "www.spincast.org"; host: string = "www.spincast.org";
realm: string = "protected example"; realm: string = "protected example";
username_password: string[]; username_password: string[] = [];
build() { build() {
Column() { Column() {
...@@ -5401,7 +5613,8 @@ struct WebComponent { ...@@ -5401,7 +5613,8 @@ struct WebComponent {
this.username_password = web_webview.WebDataBase.getHttpAuthCredentials(this.host, this.realm); this.username_password = web_webview.WebDataBase.getHttpAuthCredentials(this.host, this.realm);
console.log('num: ' + this.username_password.length); console.log('num: ' + this.username_password.length);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5432,6 +5645,7 @@ static saveHttpAuthCredentials(host: string, realm: string, username: string, pa ...@@ -5432,6 +5645,7 @@ static saveHttpAuthCredentials(host: string, realm: string, username: string, pa
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5447,7 +5661,8 @@ struct WebComponent { ...@@ -5447,7 +5661,8 @@ struct WebComponent {
try { try {
web_webview.WebDataBase.saveHttpAuthCredentials(this.host, this.realm, "Stromgol", "Laroche"); web_webview.WebDataBase.saveHttpAuthCredentials(this.host, this.realm, "Stromgol", "Laroche");
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5475,6 +5690,7 @@ static existHttpAuthCredentials(): boolean ...@@ -5475,6 +5690,7 @@ static existHttpAuthCredentials(): boolean
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5488,7 +5704,8 @@ struct WebComponent { ...@@ -5488,7 +5704,8 @@ struct WebComponent {
try { try {
let result = web_webview.WebDataBase.existHttpAuthCredentials(); let result = web_webview.WebDataBase.existHttpAuthCredentials();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5510,6 +5727,7 @@ static deleteHttpAuthCredentials(): void ...@@ -5510,6 +5727,7 @@ static deleteHttpAuthCredentials(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5523,7 +5741,8 @@ struct WebComponent { ...@@ -5523,7 +5741,8 @@ struct WebComponent {
try { try {
web_webview.WebDataBase.deleteHttpAuthCredentials(); web_webview.WebDataBase.deleteHttpAuthCredentials();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5571,6 +5790,7 @@ static allowGeolocation(origin: string): void ...@@ -5571,6 +5790,7 @@ static allowGeolocation(origin: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5585,7 +5805,8 @@ struct WebComponent { ...@@ -5585,7 +5805,8 @@ struct WebComponent {
try { try {
web_webview.GeolocationPermissions.allowGeolocation(this.origin); web_webview.GeolocationPermissions.allowGeolocation(this.origin);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5621,6 +5842,7 @@ static deleteGeolocation(origin: string): void ...@@ -5621,6 +5842,7 @@ static deleteGeolocation(origin: string): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5635,7 +5857,8 @@ struct WebComponent { ...@@ -5635,7 +5857,8 @@ struct WebComponent {
try { try {
web_webview.GeolocationPermissions.deleteGeolocation(this.origin); web_webview.GeolocationPermissions.deleteGeolocation(this.origin);
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5672,6 +5895,7 @@ static getAccessibleGeolocation(origin: string, callback: AsyncCallback\<boolean ...@@ -5672,6 +5895,7 @@ static getAccessibleGeolocation(origin: string, callback: AsyncCallback\<boolean
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5692,7 +5916,8 @@ struct WebComponent { ...@@ -5692,7 +5916,8 @@ struct WebComponent {
console.log('getAccessibleGeolocationAsync result: ' + result); console.log('getAccessibleGeolocationAsync result: ' + result);
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5734,6 +5959,7 @@ static getAccessibleGeolocation(origin: string): Promise\<boolean> ...@@ -5734,6 +5959,7 @@ static getAccessibleGeolocation(origin: string): Promise\<boolean>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5749,11 +5975,12 @@ struct WebComponent { ...@@ -5749,11 +5975,12 @@ struct WebComponent {
web_webview.GeolocationPermissions.getAccessibleGeolocation(this.origin) web_webview.GeolocationPermissions.getAccessibleGeolocation(this.origin)
.then(result => { .then(result => {
console.log('getAccessibleGeolocationPromise result: ' + result); console.log('getAccessibleGeolocationPromise result: ' + result);
}).catch(error => { }).catch((error : business_error.BusinessError) => {
console.log('getAccessibleGeolocationPromise error: ' + JSON.stringify(error)); console.log('getAccessibleGeolocationPromise error: ' + JSON.stringify(error));
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5781,6 +6008,7 @@ static getStoredGeolocation(callback: AsyncCallback\<Array\<string>>): void ...@@ -5781,6 +6008,7 @@ static getStoredGeolocation(callback: AsyncCallback\<Array\<string>>): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5801,7 +6029,8 @@ struct WebComponent { ...@@ -5801,7 +6029,8 @@ struct WebComponent {
console.log('getStoredGeolocationAsync origins: ' + origins_str); console.log('getStoredGeolocationAsync origins: ' + origins_str);
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5829,6 +6058,7 @@ static getStoredGeolocation(): Promise\<Array\<string>> ...@@ -5829,6 +6058,7 @@ static getStoredGeolocation(): Promise\<Array\<string>>
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5844,11 +6074,12 @@ struct WebComponent { ...@@ -5844,11 +6074,12 @@ struct WebComponent {
.then(origins => { .then(origins => {
let origins_str: string = origins.join(); let origins_str: string = origins.join();
console.log('getStoredGeolocationPromise origins: ' + origins_str); console.log('getStoredGeolocationPromise origins: ' + origins_str);
}).catch(error => { }).catch((error : business_error.BusinessError) => {
console.log('getStoredGeolocationPromise error: ' + JSON.stringify(error)); console.log('getStoredGeolocationPromise error: ' + JSON.stringify(error));
}); });
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -5870,6 +6101,7 @@ static deleteAllGeolocation(): void ...@@ -5870,6 +6101,7 @@ static deleteAllGeolocation(): void
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
...@@ -5883,7 +6115,8 @@ struct WebComponent { ...@@ -5883,7 +6115,8 @@ struct WebComponent {
try { try {
web_webview.GeolocationPermissions.deleteAllGeolocation(); web_webview.GeolocationPermissions.deleteAllGeolocation();
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
Web({ src: 'www.example.com', controller: this.controller }) Web({ src: 'www.example.com', controller: this.controller })
...@@ -6433,13 +6666,14 @@ getItemAtIndex(index: number): HistoryItem ...@@ -6433,13 +6666,14 @@ getItemAtIndex(index: number): HistoryItem
```ts ```ts
// xxx.ets // xxx.ets
import web_webview from '@ohos.web.webview'; import web_webview from '@ohos.web.webview';
import image from "@ohos.multimedia.image" import image from "@ohos.multimedia.image";
import business_error from '@ohos.base';
@Entry @Entry
@Component @Component
struct WebComponent { struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController(); controller: web_webview.WebviewController = new web_webview.WebviewController();
@State icon: image.PixelMap = undefined; @State icon: image.PixelMap | undefined = undefined;
build() { build() {
Column() { Column() {
...@@ -6451,7 +6685,8 @@ struct WebComponent { ...@@ -6451,7 +6685,8 @@ struct WebComponent {
console.log("HistoryItem: " + JSON.stringify(historyItem)); console.log("HistoryItem: " + JSON.stringify(historyItem));
this.icon = historyItem.icon; this.icon = historyItem.icon;
} catch (error) { } catch (error) {
console.error(`ErrorCode: ${error.code}, Message: ${error.message}`); let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
} }
}) })
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.
先完成此消息的编辑!
想要评论请 注册