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