harmony 鸿蒙arkweb_type.h

  • 2025-06-12
  • 浏览 (5)

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(方舟Web)

harmony 鸿蒙ArkWeb_AnyNativeAPI

harmony 鸿蒙ArkWeb_ComponentAPI

harmony 鸿蒙ArkWeb_ControllerAPI

harmony 鸿蒙ArkWeb_CookieManagerAPI

harmony 鸿蒙ArkWeb_JavaScriptBridgeData

harmony 鸿蒙ArkWeb_JavaScriptObject

harmony 鸿蒙ArkWeb_JavaScriptValueAPI

harmony 鸿蒙ArkWeb_ProxyMethod

harmony 鸿蒙ArkWeb_ProxyMethodWithResult

0  赞