diff --git a/zh-cn/application-dev/reference/apis/js-apis-webview.md b/zh-cn/application-dev/reference/apis/js-apis-webview.md
index 48095aedd8d745ad631a239af57d794c8abea861..42c623b555c08458bde13277734de9b36aa77a3f 100644
--- a/zh-cn/application-dev/reference/apis/js-apis-webview.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-webview.md
@@ -214,6 +214,236 @@ struct WebComponent {
}
```
+### isExtentionType10+
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+| 名称 | 类型 | 可读 | 可写 | 说明 |
+| ------------ | ------ | ---- | ---- | ------------------------------------------------|
+| isExtentionType | boolean | 是 | 否 | 创建WebMessagePort时是否指定使用扩展增强接口。 |
+
+### postMessageEventExt10+
+
+postMessageEventExt(message: WebMessageExt): void
+
+发送消息。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------- | ------ | ---- | :------------- |
+| message | [WebMessageExt](#webmessageext) | 是 | 要发送的消息。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100010 | Can not post message using this port. |
+
+
+### onMessageEventExt10+
+
+onMessageEventExt(callback: (result: WebMessageExt) => void): void
+
+注册回调函数,接收HTML5侧发送过来的消息。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------- | ---- | :------------------- |
+| result | [WebMessageExt](#webmessageext) | 是 | 接收到的消息。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ----------------------------------------------- |
+| 17100006 | Can not register message event using this port. |
+
+**示例:**
+
+```ts
+// xxx.ets
+import web_webview from '@ohos.web.webview'
+
+@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 = "";
+ message: web_webview.WebMessageExt = new web_webview.WebMessageExt();
+ build() {
+ Column() {
+ Text(this.msg1).fontSize(16)
+ Text(this.msg2).fontSize(16)
+ Button('SendToH5')
+ .onClick(() => {
+ // use the native port to send message to html5
+ try {
+ console.log("In eTS side send true start");
+ if (this.nativePort) {
+ this.message.setString("helloFromEts");
+ this.nativePort.postMessageEventExt(this.message);
+ }
+ }
+ catch (error) {
+ console.log("In eTS side send message catch error:" + error.code + ", msg:" + error.message);
+ }
+ })
+
+ Web({ src: $rawfile('index.html'), controller: this.controller })
+ .onPageEnd((e)=>{
+ console.log("In eTS side message onPageEnd init mesaage channel");
+ // 1. create web message ports
+ this.ports = this.controller.createWebMessagePorts(true);
+ // 2. send the other one to h5
+ this.controller.postMessage("__init_channel_2__", [this.ports[1]], "*");
+ // 3. keep one for ourself
+ this.nativePort = this.ports[0];
+ // 4. set on message function
+ this.nativePort.onMessageEventExt((result) => {
+ console.log("In eTS side got message");
+ try {
+ var type = result.getType();
+ console.log("In eTS 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;
+ break;
+ }
+ }
+ }
+ catch (resError) {
+ console.log(`log error code: ${resError.code}, Message: ${resError.message}`);
+ }
+ });
+ })
+ }
+ }
+}
+
+//index.html
+
+
+
+ WebView MessagePort Demo
+
+
+
+Html5 Send and Receive Message
+Receive string:
+Receive arraybuffer:
+
+
+
+
+
+
+
+//index.js
+var h5Port;
+window.addEventListener('message', function(event) {
+ if (event.data == '__init_channel_2__') {
+ if(event.ports[0] != null) {
+ h5Port = event.ports[0]; // 1. 保存从ets侧发送过来的端口
+ h5Port.onmessage = function(event) {
+ console.log("hwd In html got message");
+ // 2. 接收ets侧发送过来的消息.
+ var result = event.data;
+ console.log("In html got message, typeof: ", typeof(result));
+ console.log("In html got message, result: ", (result));
+ if (typeof(result) == "string") {
+ console.log("In html got message, String: ", result);
+ document.getElementById("msg").innerHTML = "String:" + result;
+ } else if (typeof(result) == "number") {
+ console.log("In html side got message, number: ", result);
+ document.getElementById("msg").innerHTML = "Number:" + result;
+ } else if (typeof(result) == "boolean") {
+ console.log("In html side got message, boolean: ", result);
+ document.getElementById("msg").innerHTML = "Boolean:" + result;
+ } else if (typeof(result) == "object") {
+ if (result instanceof ArrayBuffer) {
+ document.getElementById("msg2").innerHTML = "ArrayBuffer:" + result.byteLength;
+ console.log("In html got message, byteLength: ", result.byteLength);
+ } else if (result instanceof Error) {
+ console.log("In html error message, err:" + (result));
+ console.log("In html error message, typeof err:" + typeof(result));
+ document.getElementById("msg2").innerHTML = "Error:" + result.name + ", msg:" + result.message;
+ } else if (result instanceof Array) {
+ console.log("In html got message, Array");
+ console.log("In html got message, Array length:" + result.length);
+ console.log("In html got message, Array[0]:" + (result[0]));
+ console.log("In html got message, typeof Array[0]:" + typeof(result[0]));
+ document.getElementById("msg2").innerHTML = "Array len:" + result.length + ", value:" + result;
+ } else {
+ console.log("In html got message, not any instance of support type");
+ document.getElementById("msg").innerHTML = "not any instance of support type";
+ }
+ } else {
+ console.log("In html got message, not support type");
+ document.getElementById("msg").innerHTML = "not support type";
+ }
+ }
+ h5Port.onmessageerror = (event) => {
+ console.error(`hwd In html Error receiving message: ${event}`);
+ };
+ }
+ }
+})
+
+// 使用h5Port往ets侧发送String类型的消息.
+function postStringToApp() {
+ if (h5Port) {
+ console.log("In html send string message");
+ h5Port.postMessage("hello");
+ console.log("In html send string message end");
+ } else {
+ console.error("In html h5port is null, please init first");
+ }
+}
+```
+
## WebviewController
通过WebviewController可以控制Web组件各种行为。一个WebviewController对象只能控制一个Web组件,且必须在Web组件和WebviewController绑定后,才能调用WebviewController上的方法(静态方法除外)。
@@ -1232,6 +1462,232 @@ struct WebComponent {
}
```
+
+### runJavaScriptExt10+
+
+runJavaScriptExt(script: string, callback : AsyncCallback\): void
+
+异步执行JavaScript脚本,并通过回调方式返回脚本执行的结果。runJavaScriptExt需要在loadUrl完成后,比如onPageEnd中调用。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| -------- | -------------------- | ---- | ---------------------------- |
+| script | string | 是 | JavaScript脚本。 |
+| callback | AsyncCallback\<[JsMessageExt](#jsmessageext10)\> | 是 | 回调执行JavaScript脚本结果。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------------------------------ |
+| 17100001 | Init error. The WebviewController must be associated with a Web compoent. |
+
+**示例:**
+
+```ts
+import web_webview from '@ohos.web.webview'
+
+@Entry
+@Component
+struct WebComponent {
+ controller: web_webview.WebviewController = new web_webview.WebviewController();
+ @State msg1: string = ''
+ @State msg2: string = ''
+
+ build() {
+ Column() {
+ Text(this.msg1).fontSize(20)
+ Text(this.msg2).fontSize(20)
+ Web({ src: $rawfile('index.html'), controller: this.controller })
+ .javaScriptAccess(true)
+ .onPageEnd(e => {
+ try {
+ this.controller.runJavaScriptExt(
+ 'test()',
+ (error, result) => {
+ if (error) {
+ console.info(`run JavaScript error: ` + JSON.stringify(error))
+ return;
+ }
+ 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;
+ }
+ }
+ }
+ catch (resError) {
+ console.log(`log error code: ${resError.code}, Message: ${resError.message}`);
+ }
+ }
+ });
+ console.info('url: ', e.url);
+ } catch (error) {
+ console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
+ }
+ })
+ }
+ }
+}
+
+//index.html
+
+
+
+run JavaScript Ext demo
+
+
+
+```
+
+### runJavaScriptExt10+
+
+runJavaScriptExt(script: string): Promise\
+
+异步执行JavaScript脚本,并通过Promise方式返回脚本执行的结果。runJavaScriptExt需要在loadUrl完成后,比如onPageEnd中调用。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | -------- | ---- | ---------------- |
+| script | string | 是 | JavaScript脚本。 |
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------- | --------------------------------------------------- |
+| Promise\<[JsMessageExt](#jsmessageext10)> | Promise实例,返回脚本执行的结果。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------------------------------ |
+| 17100001 | Init error. The WebviewController must be associated with a Web compoent. |
+
+**示例:**
+
+```ts
+// xxx.ets
+import web_webview from '@ohos.web.webview'
+
+@Entry
+@Component
+struct WebComponent {
+ controller: web_webview.WebviewController = new web_webview.WebviewController();
+ @State webResult: string = '';
+ @State msg1: string = ''
+ @State msg2: string = ''
+
+ build() {
+ Column() {
+ Text(this.webResult).fontSize(20)
+ Text(this.msg1).fontSize(20)
+ Text(this.msg2).fontSize(20)
+ 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;
+ }
+ }
+ }
+ catch (resError) {
+ console.log(`log error code: ${resError.code}, Message: ${resError.message}`);
+ }
+ })
+ .catch(function (error) {
+ console.error("error: " + error);
+ })
+ })
+ }
+ }
+}
+
+//index.html
+
+
+
+run JavaScript Ext demo
+
+
+
+```
+
### deleteJavaScriptRegister
deleteJavaScriptRegister(name: string): void
@@ -1568,12 +2024,18 @@ struct WebComponent {
### createWebMessagePorts
- createWebMessagePorts(): Array\
+createWebMessagePorts(isExtentionType?: boolean): Array\
-创建Web消息端口。
+创建Web消息端口。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
**系统能力:** SystemCapability.Web.Webview.Core
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ---------------------- | ---- | :------------------------------|
+| isExtentionType10+ | boolean | 否 | 是否使用扩展增强接口,默认false不使用。 |
+
**返回值:**
| 类型 | 说明 |
@@ -1629,8 +2091,8 @@ postMessage(name: string, ports: Array\, uri: string): void
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------- | ---- | :------------------------------- |
-| name | string | 是 | 要发送的消息,包含数据和消息端口。 |
-| ports | Array\ | 是 | 接收该消息的URI。 |
+| name | string | 是 | 要发送的消息名称。 |
+| ports | Array\ | 是 | 要发送的消息端口。 |
| uri | string | 是 | 接收该消息的URI。 |
**错误码:**
@@ -5123,6 +5585,463 @@ Web组件返回的请求/响应头对象。
| string | 字符串类型数据。 |
| ArrayBuffer | 二进制类型数据。 |
+## JsMessageType10+
+
+[runJavaScirptExt](#runjavascriptext10)接口脚本执行后返回的结果的类型。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+| 名称 | 值 | 说明 |
+| ------------ | -- |--------------------------------- |
+| NOT_SUPPORT | 0 |不支持的数据类型。|
+| STRING | 1 |字符串类型。|
+| NUMBER | 2 |数值类型。|
+| BOOLEAN | 3 |布尔类型。|
+| ARRAY_BUFFER | 4 |原始二进制数据缓冲区。|
+| ARRAY | 5 |数组类型|
+
+
+## WebMessageType10+
+
+[webMessagePort](#webmessageport)接口所支持的数据类型。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+| 名称 | 值 | 说明 |
+| ------------ | -- |------------------------------- |
+| NOT_SUPPORT | 0 |不支持的数据类型。|
+| STRING | 1 |字符串类型。|
+| NUMBER | 2 |数值类型。|
+| BOOLEAN | 3 |布尔类型。|
+| ARRAY_BUFFER | 4 |原始二进制数据缓冲区。|
+| ARRAY | 5 |数组类型。|
+| ERROR | 6 |错误类型。|
+
+## JsMessageExt10+
+
+[runJavaScirptExt](#runjavascriptext10)接口执行脚本返回的数据对象。
+
+### getType10+
+
+getType(): JsMessageType
+
+获取数据对象的类型。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| --------------------------------------------------------- |
+| [JsMessageType](#jsmessagetype10) | [runJavaScirptExt](#runjavascriptext10)接口脚本执行后返回的结果的类型。 |
+
+### getString10+
+
+getString(): string
+
+获取数据对象的字符串类型数据。完整示例代码参考[runJavaScriptExt](#runjavascriptext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| string | 返回字符串类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the result. |
+
+
+### getNumber10+
+
+getNumber(): number
+
+获取数据对象的数值类型数据。完整示例代码参考[runJavaScriptExt](#runjavascriptext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| number | 返回数值类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the result. |
+
+### getBoolean10+
+
+getBoolean(): boolean
+
+获取数据对象的布尔类型数据。完整示例代码参考[runJavaScriptExt](#runjavascriptext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| boolean | 返回布尔类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the result. |
+
+
+### getArrayBuffer10+
+
+getArrayBuffer(): ArrayBuffer
+
+获取数据对象的原始二进制数据。完整示例代码参考[runJavaScriptExt](#runjavascriptext10)
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| ArrayBuffer | 返回原始二进制数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the result. |
+
+### getArray10+
+
+getArray(): Array\
+
+获取数据对象的数组类型数据。完整示例代码参考[runJavaScriptExt](#runjavascriptext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| Array\ | 返回数组类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the result. |
+
+
+## WebMessageExt10+
+
+[webMessagePort](#webmessageport)接口接收、发送的的数据对象。
+
+### getType10+
+
+getType(): WebMessageType
+
+获取数据对象的类型。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| --------------------------------------------------------- |
+| [WebMessageType](#webmessagetype10) | [webMessagePort](#webmessageport)接口所支持的数据类型。 |
+
+
+### getString10+
+
+getString(): string
+
+获取数据对象的字符串类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| string | 返回字符串类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+
+### getNumber10+
+
+getNumber(): number
+
+获取数据对象的数值类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| number | 返回数值类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+
+### getBoolean10+
+
+getBoolean(): boolean
+
+获取数据对象的布尔类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| boolean | 返回布尔类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+
+### getArrayBuffer10+
+
+getArrayBuffer(): ArrayBuffer
+
+获取数据对象的原始二进制数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| ArrayBuffer | 返回原始二进制数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### getArray10+
+
+getArray(): Array\
+
+获取数据对象的数组类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| Array\ | 返回数组类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### getError10+
+
+getError(): Error
+
+获取数据对象的错误类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**返回值:**
+
+| 类型 | 说明 |
+| --------------| ------------- |
+| Error | 返回错误对象类型的数据。 |
+
+**错误码:**
+
+以下错误码的详细介绍请参见[webview错误码](../errorcodes/errorcode-webview.md)。
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+
+### setType10+
+
+setType(type: WebMessageType): void
+
+设置数据对象的类型。
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | ---------------------- |
+| type | [WebMessageType](#webmessagetype10) | 是 | [webMessagePort](#webmessageport)接口所支持的数据类型。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setString10+
+
+setString(message: string): void
+
+设置数据对象的字符串类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | string | 是 | 字符串类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setNumber10+
+
+setNumber(message: number): void
+
+设置数据对象的数值类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | number | 是 | 数值类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setBoolean10+
+
+setBoolean(message: boolean): void
+
+设置数据对象的布尔类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | boolean | 是 | 布尔类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setArrayBuffer10+
+
+setArrayBuffer(message: ArrayBuffer): void
+
+设置数据对象的原始二进制数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | ArrayBuffer | 是 | 原始二进制类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setArray10+
+
+setArray(message: Array\): void
+
+设置数据对象的数组类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | Array\ | 是 | 数组类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+### setError10+
+
+setError(message: Error): void
+
+设置数据对象的错误对象类型数据。完整示例代码参考[onMessageEventExt](#onmessageeventext10)
+
+**系统能力:** SystemCapability.Web.Webview.Core
+
+**参数:**
+
+| 参数名 | 类型 | 必填 | 说明 |
+| ------ | ------ | ---- | -------------------- |
+| message | Error | 是 | 错误对象类型数据。 |
+
+**错误码:**
+
+| 错误码ID | 错误信息 |
+| -------- | ------------------------------------- |
+| 17100014 | The type does not match with the value of the web message. |
+
+
## WebStorageOrigin
提供Web SQL数据库的使用信息。
diff --git a/zh-cn/application-dev/reference/errorcodes/errorcode-webview.md b/zh-cn/application-dev/reference/errorcodes/errorcode-webview.md
index 6158032e12d0e9359550be693a66510bcb041f00..5f7b09ca0e830ac13f6cb507f5deede60309647f 100644
--- a/zh-cn/application-dev/reference/errorcodes/errorcode-webview.md
+++ b/zh-cn/application-dev/reference/errorcodes/errorcode-webview.md
@@ -229,3 +229,41 @@ Invalid web storage origin.
2. 如果已经使用,检查调用失败原因,如databaseAccess开发是否打开。
+
+## 17100013 申请内存失败
+
+**错误信息**
+
+New failed, out of memeory.
+
+**错误描述**
+
+申请失败,内存不足。
+
+**可能原因**
+
+需要发送的数据过大,导致申请内存失败。
+
+**处理步骤**
+
+检查需要发送的数据的长度。
+
+
+## 17100014 类型和值不匹配
+
+**错误信息**
+
+The type does not match with the value of the message.
+
+**错误描述**
+
+消息的类型和值不匹配。
+
+**可能原因**
+
+获取消息的值和消息本身的类型不匹配。
+
+**处理步骤**
+
+需要根据消息的类型调用相应的接口来获取消息的值。举例:如获取到的类型是BOOLEAN,则需要调用GetBoolean接口来获取布尔值。
+