Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
f4d01d22
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
f4d01d22
编写于
3月 28, 2023
作者:
E
echoorchid
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support more type demo
Signed-off-by:
N
echoorchid
<
huweidong2@huawei.com
>
上级
e0659067
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
961 addition
and
4 deletion
+961
-4
zh-cn/application-dev/reference/apis/js-apis-webview.md
zh-cn/application-dev/reference/apis/js-apis-webview.md
+923
-4
zh-cn/application-dev/reference/errorcodes/errorcode-webview.md
...application-dev/reference/errorcodes/errorcode-webview.md
+38
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-webview.md
浏览文件 @
f4d01d22
...
@@ -214,6 +214,236 @@ struct WebComponent {
...
@@ -214,6 +214,236 @@ struct WebComponent {
}
}
```
```
### isExtentionType<sup>10+</sup>
**系统能力:**
SystemCapability.Web.Webview.Core
| 名称 | 类型 | 可读 | 可写 | 说明 |
| ------------ | ------ | ---- | ---- | ------------------------------------------------|
| isExtentionType | boolean | 是 | 否 | 创建WebMessagePort时是否指定使用扩展增强接口。 |
### postMessageEventExt<sup>10+</sup>
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. |
### onMessageEventExt<sup>10+</sup>
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
<!
DOCTYPE
html
>
<
html
lang
=
"
en-gb
"
>
<
head
>
<
title
>
WebView
MessagePort
Demo
<
/title>
<
/head>
<
body
>
<
h1
>
Html5
Send
and
Receive
Message
<
/h1>
<
h3
id
=
"
msg
"
>
Receive
string
:
<
/h3>
<
h3
id
=
"
msg2
"
>
Receive
arraybuffer
:
<
/h3>
<
div
style
=
"
font-size: 10pt; text-align: center;
"
>
<
input
type
=
"
button
"
value
=
"
Send String
"
onclick
=
"
postStringToApp();
"
/><
br
/>
<
/div>
<
/body>
<
script
src
=
"
index.js
"
><
/script>
<
/html>
//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
通过WebviewController可以控制Web组件各种行为。一个WebviewController对象只能控制一个Web组件,且必须在Web组件和WebviewController绑定后,才能调用WebviewController上的方法(静态方法除外)。
通过WebviewController可以控制Web组件各种行为。一个WebviewController对象只能控制一个Web组件,且必须在Web组件和WebviewController绑定后,才能调用WebviewController上的方法(静态方法除外)。
...
@@ -1232,6 +1462,232 @@ struct WebComponent {
...
@@ -1232,6 +1462,232 @@ struct WebComponent {
}
}
```
```
### runJavaScriptExt<sup>10+</sup>
runJavaScriptExt(script: string, callback : AsyncCallback
\<
JsMessageExt>): 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
<!
DOCTYPE
html
>
<
html
lang
=
"
en-gb
"
>
<
body
>
<
h1
>
run
JavaScript
Ext
demo
<
/h1>
<
/body>
<
script
type
=
"
text/javascript
"
>
function
test
()
{
return
"
hello, world
"
;
}
<
/script>
<
/html>
```
### runJavaScriptExt<sup>10+</sup>
runJavaScriptExt(script: string): Promise
\<
JsMessageExt>
异步执行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
<!
DOCTYPE
html
>
<
html
lang
=
"
en-gb
"
>
<
body
>
<
h1
>
run
JavaScript
Ext
demo
<
/h1>
<
/body>
<
script
type
=
"
text/javascript
"
>
function
test
()
{
return
"
hello, world
"
;
}
<
/script>
<
/html>
```
### deleteJavaScriptRegister
### deleteJavaScriptRegister
deleteJavaScriptRegister(name: string): void
deleteJavaScriptRegister(name: string): void
...
@@ -1568,12 +2024,18 @@ struct WebComponent {
...
@@ -1568,12 +2024,18 @@ struct WebComponent {
### createWebMessagePorts
### createWebMessagePorts
createWebMessagePorts(
): Array
\<
WebMessagePort>
createWebMessagePorts(isExtentionType?: boolean
): Array
\<
WebMessagePort>
创建Web消息端口。
创建Web消息端口。
完整示例代码参考
[
onMessageEventExt
](
#onmessageeventext10
)
**系统能力:**
SystemCapability.Web.Webview.Core
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------- | ---- | :------------------------------|
| isExtentionType
<sup>
10+
</sup>
| boolean | 否 | 是否使用扩展增强接口,默认false不使用。 |
**返回值:**
**返回值:**
| 类型 | 说明 |
| 类型 | 说明 |
...
@@ -1629,8 +2091,8 @@ postMessage(name: string, ports: Array\<WebMessagePort>, uri: string): void
...
@@ -1629,8 +2091,8 @@ postMessage(name: string, ports: Array\<WebMessagePort>, uri: string): void
| 参数名 | 类型 | 必填 | 说明 |
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ---------------------- | ---- | :------------------------------- |
| ------ | ---------------------- | ---- | :------------------------------- |
| name | string | 是 | 要发送的消息
,包含数据和消息端口。
|
| name | string | 是 | 要发送的消息
名称。
|
| ports | Array
\<
WebMessagePort> | 是 |
接收该消息的URI。
|
| ports | Array
\<
WebMessagePort> | 是 |
要发送的消息端口。
|
| uri | string | 是 | 接收该消息的URI。 |
| uri | string | 是 | 接收该消息的URI。 |
**错误码:**
**错误码:**
...
@@ -5123,6 +5585,463 @@ Web组件返回的请求/响应头对象。
...
@@ -5123,6 +5585,463 @@ Web组件返回的请求/响应头对象。
| string | 字符串类型数据。 |
| string | 字符串类型数据。 |
| ArrayBuffer | 二进制类型数据。 |
| ArrayBuffer | 二进制类型数据。 |
## JsMessageType<sup>10+</sup>
[
runJavaScirptExt
](
#runjavascriptext10
)
接口脚本执行后返回的结果的类型。
**系统能力:**
SystemCapability.Web.Webview.Core
| 名称 | 值 | 说明 |
| ------------ | -- |--------------------------------- |
| NOT_SUPPORT | 0 |不支持的数据类型。|
| STRING | 1 |字符串类型。|
| NUMBER | 2 |数值类型。|
| BOOLEAN | 3 |布尔类型。|
| ARRAY_BUFFER | 4 |原始二进制数据缓冲区。|
| ARRAY | 5 |数组类型|
## WebMessageType<sup>10+</sup>
[
webMessagePort
](
#webmessageport
)
接口所支持的数据类型。
**系统能力:**
SystemCapability.Web.Webview.Core
| 名称 | 值 | 说明 |
| ------------ | -- |------------------------------- |
| NOT_SUPPORT | 0 |不支持的数据类型。|
| STRING | 1 |字符串类型。|
| NUMBER | 2 |数值类型。|
| BOOLEAN | 3 |布尔类型。|
| ARRAY_BUFFER | 4 |原始二进制数据缓冲区。|
| ARRAY | 5 |数组类型。|
| ERROR | 6 |错误类型。|
## JsMessageExt<sup>10+</sup>
[
runJavaScirptExt
](
#runjavascriptext10
)
接口执行脚本返回的数据对象。
### getType<sup>10+</sup>
getType(): JsMessageType
获取数据对象的类型。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| --------------| --------------------------------------------------------- |
|
[
JsMessageType
](
#jsmessagetype10
)
|
[
runJavaScirptExt
](
#runjavascriptext10
)
接口脚本执行后返回的结果的类型。 |
### getString<sup>10+</sup>
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. |
### getNumber<sup>10+</sup>
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. |
### getBoolean<sup>10+</sup>
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. |
### getArrayBuffer<sup>10+</sup>
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. |
### getArray<sup>10+</sup>
getArray(): Array
\<
string | number | boolean
\>
获取数据对象的数组类型数据。完整示例代码参考
[
runJavaScriptExt
](
#runjavascriptext10
)
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| --------------| ------------- |
| Array
\<
string | number | boolean
\>
| 返回数组类型的数据。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
。
| 错误码ID | 错误信息 |
| -------- | ------------------------------------- |
| 17100014 | The type does not match with the value of the result. |
## WebMessageExt<sup>10+</sup>
[
webMessagePort
](
#webmessageport
)
接口接收、发送的的数据对象。
### getType<sup>10+</sup>
getType(): WebMessageType
获取数据对象的类型。
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| --------------| --------------------------------------------------------- |
|
[
WebMessageType
](
#webmessagetype10
)
|
[
webMessagePort
](
#webmessageport
)
接口所支持的数据类型。 |
### getString<sup>10+</sup>
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. |
### getNumber<sup>10+</sup>
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. |
### getBoolean<sup>10+</sup>
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. |
### getArrayBuffer<sup>10+</sup>
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. |
### getArray<sup>10+</sup>
getArray(): Array
\<
string | number | boolean
\>
获取数据对象的数组类型数据。完整示例代码参考
[
onMessageEventExt
](
#onmessageeventext10
)
**系统能力:**
SystemCapability.Web.Webview.Core
**返回值:**
| 类型 | 说明 |
| --------------| ------------- |
| Array
\<
string | number | boolean
\>
| 返回数组类型的数据。 |
**错误码:**
以下错误码的详细介绍请参见
[
webview错误码
](
../errorcodes/errorcode-webview.md
)
。
| 错误码ID | 错误信息 |
| -------- | ------------------------------------- |
| 17100014 | The type does not match with the value of the web message. |
### getError<sup>10+</sup>
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. |
### setType<sup>10+</sup>
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. |
### setString<sup>10+</sup>
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. |
### setNumber<sup>10+</sup>
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. |
### setBoolean<sup>10+</sup>
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. |
### setArrayBuffer<sup>10+</sup>
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. |
### setArray<sup>10+</sup>
setArray(message: Array
\<
string | number | boolean
\>
): void
设置数据对象的数组类型数据。完整示例代码参考
[
onMessageEventExt
](
#onmessageeventext10
)
**系统能力:**
SystemCapability.Web.Webview.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- |
| message | Array
\<
string
\|
number
\|
boolean
\>
| 是 | 数组类型数据。 |
**错误码:**
| 错误码ID | 错误信息 |
| -------- | ------------------------------------- |
| 17100014 | The type does not match with the value of the web message. |
### setError<sup>10+</sup>
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
## WebStorageOrigin
提供Web SQL数据库的使用信息。
提供Web SQL数据库的使用信息。
...
...
zh-cn/application-dev/reference/errorcodes/errorcode-webview.md
浏览文件 @
f4d01d22
...
@@ -229,3 +229,41 @@ Invalid web storage origin.
...
@@ -229,3 +229,41 @@ Invalid web storage origin.
2.
如果已经使用,检查调用失败原因,如databaseAccess开发是否打开。
2.
如果已经使用,检查调用失败原因,如databaseAccess开发是否打开。
## 17100013 申请内存失败
**错误信息**
New failed, out of memeory.
**错误描述**
申请失败,内存不足。
**可能原因**
需要发送的数据过大,导致申请内存失败。
**处理步骤**
检查需要发送的数据的长度。
## 17100014 类型和值不匹配
**错误信息**
The type does not match with the value of the message.
**错误描述**
消息的类型和值不匹配。
**可能原因**
获取消息的值和消息本身的类型不匹配。
**处理步骤**
需要根据消息的类型调用相应的接口来获取消息的值。举例:如获取到的类型是BOOLEAN,则需要调用GetBoolean接口来获取布尔值。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录