• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ArkWeb_WebMessagePortAPI
2<!--Kit: ArkWeb-->
3<!--Subsystem: Web-->
4<!--Owner: @aohui-->
5<!--Designer: @yaomingliu-->
6<!--Tester: @ghiker-->
7<!--Adviser: @HelloCrease-->
8
9## 概述
10
11Post Message相关的Native API结构体。在调用接口前建议通过[ARKWEB_MEMBER_MISSING](capi-arkweb-type-h.md#宏定义)校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。
12
13**起始版本:** 12
14
15**相关模块:** [Web](capi-web.md)
16
17**所在头文件:** [arkweb_type.h](capi-arkweb-type-h.md)
18
19## 汇总
20
21### 成员变量
22
23| 名称 | 描述 |
24| -- | -- |
25| size_t size | 结构体的大小。 |
26
27
28### 成员函数
29
30| 名称                                                                                                                                                                                              | 描述         |
31|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------|
32| [ArkWeb_ErrorCode (\*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage)](#postmessage)                                      | 发送消息到HTML。 |
33| [void (\*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag)](#close)                                                                                                     | 关闭消息端口。    |
34| [void (\*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, ArkWeb_OnMessageEventHandler messageEventHandler, void* userData)](#setmessageeventhandler) | 设置接收HTML消息的回调。           |
35
36## 成员函数说明
37
38### postMessage()
39
40```
41ArkWeb_ErrorCode (*postMessage)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage)
42```
43
44**描述:**
45
46发送消息到HTML。
47
48**参数:**
49
50| 参数项 | 描述 |
51| -- | -- |
52| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort | Post Message端口结构体指针。 |
53|  const char* webTag | Web组件名称。 |
54|  const [ArkWeb_WebMessagePtr](capi-web-arkweb-webmessage8h.md) webMessage | 需要发送的消息。 |
55
56**返回:**
57
58| 类型                                                               | 说明                                                                                   |
59|------------------------------------------------------------------|--------------------------------------------------------------------------------------|
60| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | [ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 执行成功。<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) 参数无效。<br>[ARKWEB_INIT_ERROR](capi-arkweb-error-code-h.md#arkweb_errorcode) 初始化失败,没有找到与webTag绑定的Web组件。 |
61
62### close()
63
64```
65void (*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag)
66```
67
68**描述:**
69
70关闭消息端口。
71
72**参数:**
73
74| 参数项 | 描述 |
75| -- | -- |
76| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort | Post Message端口结构体指针。 |
77
78### setMessageEventHandler()
79
80```
81void (*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag,
82        ArkWeb_OnMessageEventHandler messageEventHandler, void* userData)
83```
84
85**描述:**
86
87关闭消息端口。
88
89**参数:**
90
91| 参数项                                                                                                    | 描述                   |
92|--------------------------------------------------------------------------------------------------------|----------------------|
93| const [ArkWeb_WebMessagePortPtr](capi-web-arkweb-webmessageport8h.md) webMessagePort                       | Post Message端口结构体指针。 |
94| const char* webTag                                                                                     |  Web组件名称。                     |
95| [ArkWeb_OnMessageEventHandler](capi-arkweb-type-h.md#arkweb_onmessageeventhandler) messageEventHandler | 处理消息的回调。                     |
96| void* userData                                                                                         | 用户自定义数据。                     |
97
98