harmony 鸿蒙arkweb_type.h

2025-06-12 浏览 (1)

arkweb_type.h

概述

提供ArkWeb在Native侧的公共类型定义。

库: libohweb.so

引用文件: <web/arkweb_type.h>

系统能力: 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_ControllerAPIController相关的Native API结构体。 在调用接口前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。
struct  ArkWeb_ComponentAPIComponent相关的Native API结构体。
struct  ArkWeb_WebMessagePortAPIPost Message相关的Native API结构体。 在调用接口前建议通过ARKWEB_MEMBER_MISSING校验该函数结构体是否有对应函数指针,避免SDK与设备ROM不匹配导致crash问题。
struct  ArkWeb_WebMessageAPIPost 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_WebMessageTypePost Message数据类型。
typedef enum ArkWeb_JavaScriptValueType ArkWeb_JavaScriptValueTypeJavaScript数据类型。
typedef struct ArkWeb_WebMessage * ArkWeb_WebMessagePtrPost Message数据结构体指针。
typedef struct ArkWeb_JavaScriptValue * ArkWeb_JavaScriptValuePtrJavaScript数据结构体指针。
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_WebMessagePortPtrPost 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

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/zM9s1V