目录

arkweb_interface.h

概述

arkweb_interface.h是ArkWeb在Native侧(C/C++)的核心入口头文件:它定义了基础Native API类型ArkWeb_AnyNativeAPI与API类型枚举ArkWeb_NativeAPIVariantKind,并提供OH_ArkWeb_GetNativeAPI接口用于按需获取Controller、Component、CookieManager等具体Native API结构体,同时提供OH_ArkWeb_RegisterScrollCallback用于注册Web组件滚动事件回调;当开发者需要在Native代码中控制Web组件行为(如执行JavaScript、管理Cookie、监听组件生命周期或滚动事件)时,应首先通过本头文件获取对应的Native API,而页面渲染显示等能力仍需由ArkTS侧的Web组件提供。

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

库: libohweb.so

系统能力: SystemCapability.Web.Webview.Core

起始版本: 12

相关模块: Web

汇总

[h2]结构体

名称 typedef关键字 描述
ArkWeb_AnyNativeAPI ArkWeb_AnyNativeAPI 定义基础Native API类型。

[h2]枚举

名称 typedef关键字 描述
ArkWeb_NativeAPIVariantKind ArkWeb_NativeAPIVariantKind 定义Native API的类型枚举。

[h2]函数

枚举类型说明

[h2]ArkWeb_NativeAPIVariantKind

enum ArkWeb_NativeAPIVariantKind

描述:

定义Native API的类型枚举。

起始版本: 12

枚举项 描述
ARKWEB_NATIVE_COMPONENT Component相关API类型。
ARKWEB_NATIVE_CONTROLLER Controller相关API类型。
ARKWEB_NATIVE_WEB_MESSAGE_PORT WebMessagePort相关API类型。
ARKWEB_NATIVE_WEB_MESSAGE WebMessage相关API类型。
ARKWEB_NATIVE_COOKIE_MANAGER CookieManager相关API类型。
ARKWEB_NATIVE_JAVASCRIPT_VALUE

JavaScriptValue相关API类型。

起始版本: 18

函数说明

[h2]OH_ArkWeb_GetNativeAPI()

ArkWeb_AnyNativeAPI* OH_ArkWeb_GetNativeAPI(ArkWeb_NativeAPIVariantKind type)

描述:

根据传入的API类型,获取对应的Native API结构体。用于在Native代码中获取Controller以控制Web组件行为、获取CookieManager以管理Cookie、获取WebMessagePort以实现消息通信、获取JavaScriptValue以操作JavaScript对象等场景。该接口可能返回空指针,开发者在使用返回值前必须进行判空处理,避免空指针解引用导致应用崩溃。

系统能力: SystemCapability.Web.Webview.Core

起始版本: 12

参数:

参数项 描述
ArkWeb_NativeAPIVariantKind type

ArkWeb支持的Native API类型,不同API类型可能需要不同系统版本支持,详见枚举类型说明。

返回值使用说明:返回的指针由系统管理,无需开发者手动释放;多次调用相同参数可能返回同一指针;返回的Native API结构体在Web组件生命周期内有效;使用时请确保线程安全。

返回:

类型 说明
ArkWeb_AnyNativeAPI* 根据传入的API类型,返回对应的Native API结构体指针,结构体第一个成员为当前结构体的大小,可用于访问Controller、Component、CookieManager等具体的Native API功能。若传入的API类型在当前系统版本不支持(如ARKWEB_NATIVE_JAVASCRIPT_VALUE在18以下版本不可用),则返回NULL。

[h2]OH_ArkWeb_RegisterScrollCallback()

bool OH_ArkWeb_RegisterScrollCallback(const char* webTag, ArkWeb_OnScrollCallback callback, void* userData)

描述:

注册组件滚动时的回调函数。用于监测用户滚动行为以实现懒加载、检测滚动位置以实现回到顶部功能、记录用户浏览行为用于数据分析、实现滚动时的视觉特效等场景。

系统能力: SystemCapability.Web.Webview.Core

起始版本: 18

参数:

参数项 描述
const char* webTag Web组件的名称。
ArkWeb_OnScrollCallback callback 页面滚动时的回调函数。
void* userData 用户自定义的数据。

返回:

类型 说明
bool 如果回调设置成功,则返回true,否则返回false。