harmony 鸿蒙arkweb_type.h
arkweb_type.h
概述
提供ArkWeb在Native侧的公共类型定义。
库: libohweb.so
引用文件:
系统能力: SystemCapability.Web.Webview.Core
起始版本: 12
相关模块:Web
汇总
结构体
名称 | 描述 |
---|---|
struct ArkWeb_JavaScriptBridgeData | 定义JavaScript Bridge数据的基础结构。 |
struct ArkWeb_JavaScriptObject | 注入的JavaScript结构体。 |
struct ArkWeb_ProxyMethod | 注入的Proxy方法通用结构体。 |
struct ArkWeb_ProxyMethodWithResult | 注入的Proxy方法通用结构体。 |
struct ArkWeb_ProxyObject | 注入的Proxy对象通用结构体。 |
struct ArkWeb_ProxyObjectWithResult | 注入的Proxy对象通用结构体。 |
struct ArkWeb_ControllerAPI | Controller相关的Native API结构体。 在调用接口前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。 |
struct ArkWeb_ComponentAPI | Component相关的Native API结构体。 |
struct ArkWeb_WebMessagePortAPI | Post Message相关的Native API结构体。 在调用接口前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。 |
struct ArkWeb_WebMessageAPI | Post Message数据相关的Native API结构体。 在调用接口前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。 |
struct ArkWeb_CookieManagerAPI | 定义了ArkWeb的CookieManager接口。 在调用接口之前,建议使用ARKWEB_MEMBER_MISSING检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。 |
struct ArkWeb_JavaScriptValueAPI | 定义了ArkWeb的JavaScriptValue接口。 在调用接口之前,建议使用ARKWEB_MEMBER_MISSING检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。 |
宏定义
名称 | 描述 |
---|---|
ARKWEB_MEMBER_EXISTS(s, f) ((intptr_t) & ((s)->f) - (intptr_t)(s) + sizeof((s)->f) <= *reinterpret_cast<size_t*>(s)) | 检查结构体中是否存在该成员变量。 |
ARKWEB_MEMBER_MISSING(s, f) (!ARKWEB_MEMBER_EXISTS(s, f) ||!((s)->f)) | 当前结构体存在该成员变量则返回false,否则返回true。 |
类型定义
名称 | 描述 |
---|---|
typedef enum ArkWeb_WebMessageType ArkWeb_WebMessageType | Post Message数据类型。 |
typedef enum ArkWeb_JavaScriptValueType ArkWeb_JavaScriptValueType | JavaScript数据类型。 |
typedef struct ArkWeb_WebMessage * ArkWeb_WebMessagePtr | Post Message数据结构体指针。 |
typedef struct ArkWeb_JavaScriptValue * ArkWeb_JavaScriptValuePtr | JavaScript数据结构体指针。 |
typedef void(* ArkWeb_OnJavaScriptCallback) (const char *webTag, const ArkWeb_JavaScriptBridgeData *data, void *userData) | 注入的JavaScript执行完成的回调。 |
typedef void(* ArkWeb_OnJavaScriptProxyCallback) (const char *webTag, const ArkWeb_JavaScriptBridgeData *dataArray, size_t arraySize, void *userData) | Proxy方法被执行的回调。 |
typedef ArkWeb_JavaScriptValuePtr(* ArkWeb_OnJavaScriptProxyCallbackWithResult) (const char *webTag, const ArkWeb_JavaScriptBridgeData *dataArray, size_t arraySize, void *userData) | Proxy方法被执行的回调。 |
typedef void(* ArkWeb_OnComponentCallback) (const char *webTag, void *userData) | 组件事件通知相关的通用回调。 |
typedef struct ArkWeb_WebMessagePort * ArkWeb_WebMessagePortPtr | Post Message端口结构体指针。 |
typedef void(* ArkWeb_OnMessageEventHandler) (const char *webTag, const ArkWeb_WebMessagePortPtr port, const ArkWeb_WebMessagePtr message, void *userData) | 处理HTML发送过来的Post Message数据。 |
枚举
名称 | 描述 |
---|---|
ArkWeb_WebMessageType { ARKWEB_NONE = 0, ARKWEB_STRING, ARKWEB_BUFFER } | Post Message数据类型。 |
ArkWeb_JavaScriptValueType { ARKWEB_JAVASCRIPT_NONE = 0, ARKWEB_JAVASCRIPT_STRING, ARKWEB_JAVASCRIPT_BOOL } | JavaScript数据类型。 |
你可能感兴趣的鸿蒙文章
harmony 鸿蒙ArkWeb_ControllerAPI
harmony 鸿蒙ArkWeb_CookieManagerAPI
harmony 鸿蒙ArkWeb_JavaScriptBridgeData
harmony 鸿蒙ArkWeb_JavaScriptObject
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦