MiniBlink
Miniblink

API 参考

Miniblink VIP 版本 API 列表

Miniblink API 参考

本文档列出了 Miniblink VIP 版本的主要 API。这些接口与 WKE 官方接口保持兼容,您可以参考官方文档获取更多信息。本文档中会对特殊说明的接口进行额外标注。

基础函数

wkeVersion

获取当前 API 版本号。

unsigned int wkeVersion();

参数:无

返回值

  • unsigned int:当前 API 版本号

示例

unsigned int version = wkeVersion();
printf("当前 Miniblink 版本:%u\n", version);

wkeSetWkeDllPath

设置 Miniblink DLL 的完整路径。

void wkeSetWkeDllPath(const wchar_t* dllPath);

参数

  • dllPath:DLL 文件的完整路径(包含文件名)

说明

  • 必须在初始化 Miniblink 之前调用
  • 路径必须使用完整路径,不支持相对路径
  • 建议使用 wchar_t 类型以支持 Unicode 路径

示例

wkeSetWkeDllPath(L"C:\\Program Files\\Miniblink\\node.dll");

wkeFireMouseEvent

向 Miniblink 发送鼠标事件。

bool wkeFireMouseEvent(wkeWebView webView, unsigned int message, int x, int y, unsigned int flags);

参数

  • webView:WebView 句柄
  • message:Windows 鼠标消息(如 WM_MOUSELEAVE
  • x:鼠标 X 坐标
  • y:鼠标 Y 坐标
  • flags:鼠标按键状态标志

标志值

标志说明
WKE_CONTROLCtrl 键按下
WKE_SHIFTShift 键按下
WKE_LBUTTON左键按下
WKE_MBUTTON中键按下
WKE_RBUTTON右键按下

返回值

  • bool:事件是否成功发送

示例

// 模拟鼠标左键点击
wkeFireMouseEvent(webView, WM_LBUTTONDOWN, 100, 100, WKE_LBUTTON);
wkeFireMouseEvent(webView, WM_LBUTTONUP, 100, 100, 0);

内存管理

wkeGC

执行 Miniblink 的垃圾回收操作。

void wkeGC(wkeWebView webView, long delayMs);

参数

  • webView:WebView 句柄
  • delayMs:延迟执行时间(毫秒)

说明

  • 延迟指定时间后执行垃圾回收
  • 建议在内存压力大时调用

文件系统

wkeSetFileSystem

设置文件系统相关的钩子函数。

void wkeSetFileSystem(
    WKE_FILE_OPEN pfnOpen,
    WKE_FILE_CLOSE pfnClose,
    WKE_FILE_SIZE pfnSize,
    WKE_FILE_READ pfnRead,
    WKE_FILE_SEEK pfnSeek
);

参数

  • pfnOpen:文件打开回调
  • pfnClose:文件关闭回调
  • pfnSize:获取文件大小回调
  • pfnRead:文件读取回调
  • pfnSeek:文件定位回调

说明: ⚠️ 此接口已被废弃,建议使用新的文件系统接口

页面状态

wkeIsLoaded

⚠️ 已废弃

检查 WebView 的加载状态。

bool wkeIsLoaded(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否加载完成

wkeIsLoadingSucceeded

⚠️ 已废弃

检查页面是否加载成功。

bool wkeIsLoadingSucceeded(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否加载成功

wkeIsLoadFailed

⚠️ 已废弃

检查页面是否加载失败。

bool wkeIsLoadFailed(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否加载失败

wkeIsLoadComplete

⚠️ 已废弃

检查页面是否完全加载完成。

bool wkeIsLoadComplete(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否加载完成

说明

  • 等效于 wkeIsLoadFailedwkeIsLoadingSucceeded 返回 true

wkeIsDocumentReady

检查 DOM 文档是否加载完成。

bool wkeIsDocumentReady(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:DOM 文档是否准备就绪

说明

  • 此函数检查 DOM 文档结构的加载状态
  • 与网络加载状态检查函数不同,专注于文档结构

页面控制

wkeStopLoading

停止页面加载。

void wkeStopLoading(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeReload

重新加载当前页面。

bool wkeReload(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:重新加载是否成功

wkeWake

唤醒 WebView。

void wkeWake(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeIsAwake

检查 WebView 是否处于唤醒状态。

bool wkeIsAwake(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否唤醒

注意

  • ⚠️ 此功能尚未实现

页面信息

wkeGetTitle

获取页面标题(UTF-8编码)。

const utf8* wkeGetTitle(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • const utf8*:页面标题字符串

wkeGetTitleW

获取页面标题(宽字符版本)。

const wchar_t* wkeGetTitleW(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • const wchar_t*:页面标题宽字符串

页面布局

wkeResize

调整 WebView 的大小。

void wkeResize(wkeWebView webView, int w, int h);

参数

  • webView:WebView 句柄
  • w:新的宽度
  • h:新的高度

说明

  • 如果 WebView 是窗口模式,会同时调整窗口大小
  • 调用后会触发页面重新布局

页面尺寸

wkeGetWidth

获取页面宽度。

int wkeGetWidth(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • int:页面宽度(像素)

wkeGetHeight

获取页面高度。

int wkeGetHeight(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • int:页面高度(像素)

wkeGetContentWidth

获取网页内容排版宽度。

int wkeGetContentWidth(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • int:内容宽度(像素)

wkeGetContentHeight

获取网页内容排版高度。

int wkeGetContentHeight(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • int:内容高度(像素)

页面渲染

wkeSetDirty

⚠️ 已废弃

设置页面为脏状态,触发下一帧重绘。

void wkeSetDirty(wkeWebView webView, bool dirty);

参数

  • webView:WebView 句柄
  • dirty:是否设为脏状态

wkeIsDirty

⚠️ 已废弃

获取页面脏状态。

bool wkeIsDirty(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否为脏状态

wkeAddDirtyArea

⚠️ 已废弃

添加页面脏矩形区域。

void wkeAddDirtyArea(wkeWebView webView, int x, int y, int w, int h);

参数

  • webView:WebView 句柄
  • x:左上角 X 坐标
  • y:左上角 Y 坐标
  • w:宽度
  • h:高度

wkeLayoutIfNeeded

⚠️ 已废弃

强制页面重新排版。

void wkeLayoutIfNeeded(wkeWebView webView);

参数

  • webView:WebView 句柄

wkePaint2

高级绘制接口。

void wkePaint2(wkeWebView webView, void* bits, int bufWid, int bufHei, 
               int xDst, int yDst, int w, int h, int xSrc, int ySrc, bool bCopyAlpha);

参数

  • webView:WebView 句柄
  • bits:外部缓冲区指针(大小为 bufWid * bufHei * 4 字节)
  • bufWid:缓冲区宽度
  • bufHei:缓冲区高度
  • xDst:目标 X 坐标
  • yDst:目标 Y 坐标
  • w:绘制宽度
  • h:绘制高度
  • xSrc:源 X 坐标
  • ySrc:源 Y 坐标
  • bCopyAlpha:是否复制 Alpha 通道

说明

  • 主要用于 3D 游戏场景
  • 频繁使用可能影响性能
  • 建议使用 wkeGetViewDC 获取 DC 后进行操作

wkePaint

简化版像素获取接口。

void wkePaint(wkeWebView webView, void* bits, int pitch);

参数

  • webView:WebView 句柄
  • bits:外部缓冲区指针(大小为 宽度 * 高度 * 4 字节)
  • pitch:行间距(通常设为 0)

wkeRepaintIfNeeded

⚠️ 已废弃

强制重绘页面。

void wkeRepaintIfNeeded(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeGetViewDC

获取 WebView 的设备上下文。

HDC wkeGetViewDC(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • HDC:设备上下文句柄

wkeGetHostHWND

获取 WebView 对应的窗口句柄。

HWND wkeGetHostHWND(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • HWND:窗口句柄

说明

  • 功能与 wkeGetWindowHandle 相同

导航控制

wkeCanGoBack

检查页面是否可以后退。

bool wkeCanGoBack(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否可以后退

wkeGoBack

执行页面后退操作。

bool wkeGoBack(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:后退操作是否成功

wkeCanGoForward

检查页面是否可以前进。

bool wkeCanGoForward(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:是否可以前进

wkeGoForward

执行页面前进操作。

bool wkeGoForward(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:前进操作是否成功

编辑操作

wkeEditorSelectAll

执行全选操作。

void wkeEditorSelectAll(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorUnSelect

取消选择。

void wkeEditorUnSelect(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorCopy

复制选中内容。

void wkeEditorCopy(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorCut

剪切选中内容。

void wkeEditorCut(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorDelete

删除选中内容。

void wkeEditorDelete(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorUndo

撤销操作。

void wkeEditorUndo(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeEditorRedo

重做操作。

void wkeEditorRedo(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeGetCookieW

获取页面 Cookie(宽字符版本)。

const wchar_t * wkeGetCookieW(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeGetCookie

获取页面 Cookie。

const utf8* wkeGetCookie(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • const utf8*:Cookie 字符串

wkeSetCookie

设置页面 Cookie。

void wkeSetCookie(wkeWebView webView, const utf8* url, const utf8* cookie);

参数

  • webView:WebView 句柄
  • url:目标 URL
  • cookie:Cookie 字符串

示例

const char* cookie = "PERSONALIZE=123;expires=Monday, 13-Jun-2022 03:04:55 GMT; domain=.fidelity.com; path=/; secure";
wkeSetCookie(webView, "https://example.com", cookie);

wkeVisitAllCookie

通过访问器遍历所有 Cookie。

void wkeVisitAllCookie(void* params, wkeCookieVisitor visitor);

参数

  • params:用户自定义参数
  • visitor:Cookie 访问器回调函数

wkePerformCookieCommand

执行 Cookie 相关命令。

void wkePerformCookieCommand(wkeCookieCommand command);

参数

  • command:Cookie 操作命令

命令类型

命令说明CURL 对应操作
wkeCookieCommandClearAllCookies清除所有 CookieCURLOPT_COOKIELIST, "ALL"
wkeCookieCommandClearSessionCookies清除会话 CookieCURLOPT_COOKIELIST, "SESS"
wkeCookieCommandFlushCookiesToFile保存 Cookie 到文件CURLOPT_COOKIELIST, "FLUSH"
wkeCookieCommandReloadCookiesFromFile从文件加载 CookieCURLOPT_COOKIELIST, "RELOAD"

注意

  • 此接口仅影响 CURL 设置,不会修改 JavaScript 中的内容

wkeClearCookie

清理所有页面的 Cookie。

void wkeClearCookie(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeSetCookieEnabled

启用或禁用 Cookie。

void wkeSetCookieEnabled(wkeWebView webView, bool enable);

参数

  • webView:WebView 句柄
  • enable:是否启用 Cookie

注意

  • 仅影响 Blink 引擎,不影响 CURL Cookie 文件的生成

wkeIsCookieEnabled

检查 Cookie 是否启用。

bool wkeIsCookieEnabled(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • bool:Cookie 是否启用

wkeSetCookieJarPath

设置 Cookie 存储目录。

void wkeSetCookieJarPath(wkeWebView webView, const WCHAR* path);

参数

  • webView:WebView 句柄
  • path:Cookie 存储目录路径

说明

  • 默认在当前目录下的 "cookie.dat" 文件中

wkeSetCookieJarFullPath

设置 Cookie 文件的完整路径。

void wkeSetCookieJarFullPath(wkeWebView webView, const WCHAR* path);

参数

  • webView:WebView 句柄
  • path:Cookie 文件的完整路径(如 "c:\mb\cookie.dat")

存储管理

wkeSetLocalStorageFullPath

设置 Local Storage 存储路径。

void wkeSetLocalStorageFullPath(wkeWebView webView, const WCHAR* path);

参数

  • webView:WebView 句柄
  • path:存储目录路径(如 "c:\mb\LocalStorage")

注意

  • 只能设置目录路径,不能设置文件路径

媒体控制

wkeSetMediaVolume

设置媒体音量。

void wkeSetMediaVolume(wkeWebView webView, float volume);

参数

  • webView:WebView 句柄
  • volume:音量值

注意

  • ⚠️ 此功能尚未实现

wkeGetMediaVolume

获取媒体音量。

float wkeGetMediaVolume(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • float:音量值

注意

  • ⚠️ 此功能尚未实现

事件处理

wkeFireMouseEvent

发送鼠标事件。

bool wkeFireMouseEvent(wkeWebView webView, unsigned int message, int x, int y, unsigned int flags);

参数

  • webView:WebView 句柄
  • message:Windows 鼠标消息(如 WM_MOUSELEAVE
  • x:鼠标 X 坐标
  • y:鼠标 Y 坐标
  • flags:按键状态标志

标志值

标志说明
WKE_CONTROLCtrl 键按下
WKE_SHIFTShift 键按下
WKE_LBUTTON左键按下
WKE_MBUTTON中键按下
WKE_RBUTTON右键按下

wkeFireContextMenuEvent

发送上下文菜单事件。

bool wkeFireContextMenuEvent(wkeWebView webView, int x, int y, unsigned int flags);

参数

  • webView:WebView 句柄
  • x:菜单 X 坐标
  • y:菜单 Y 坐标
  • flags:标志位

注意

  • ⚠️ 此功能尚未实现

wkeFireMouseWheelEvent

发送鼠标滚轮事件。

bool wkeFireMouseWheelEvent(wkeWebView webView, int x, int y, int delta, unsigned int flags);

参数

  • webView:WebView 句柄
  • x:鼠标 X 坐标
  • y:鼠标 Y 坐标
  • delta:滚轮增量
  • flags:按键状态标志

wkeFireKeyUpEvent

发送按键释放事件。

bool wkeFireKeyUpEvent(wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey);

参数

  • webView:WebView 句柄
  • virtualKeyCode:虚拟键码(参考 Virtual-Key Codes
  • flags:标志位(WKE_REPEATWKE_EXTENDED
  • systemKey:是否为系统按键

wkeFireKeyDownEvent

发送按键按下事件。

bool wkeFireKeyDownEvent(wkeWebView webView, unsigned int virtualKeyCode, unsigned int flags, bool systemKey);

参数: 与 wkeFireKeyUpEvent 相同

wkeFireKeyPressEvent

发送按键输入事件。

bool wkeFireKeyPressEvent(wkeWebView webView, unsigned int charCode, unsigned int flags, bool systemKey);

参数

  • webView:WebView 句柄
  • charCode:字符码(参考 WM_CHAR
  • flags:标志位
  • systemKey:是否为系统按键

wkeFireWindowsMessage

发送 Windows 消息。

bool wkeFireWindowsMessage(wkeWebView webView, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, LRESULT* result);

参数

  • webView:WebView 句柄
  • hWnd:窗口句柄
  • message:消息类型
  • wParam:消息参数
  • lParam:消息参数
  • result:处理结果

说明

  • 主要用于处理光标相关事件
  • 在无窗口模式下需要手动发送光标消息

焦点控制

wkeSetFocus

设置 WebView 焦点。

void wkeSetFocus(wkeWebView webView);

参数

  • webView:WebView 句柄

说明

  • 如果 WebView 关联了窗口,窗口也会获得焦点

wkeKillFocus

移除 WebView 焦点。

void wkeKillFocus(wkeWebView webView);

参数

  • webView:WebView 句柄

wkeGetCaretRect

获取编辑框光标位置。

wkeRect wkeGetCaretRect(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • wkeRect:光标矩形区域

JavaScript 交互

wkeRunJS

执行 JavaScript 代码(UTF-8)。

jsValue wkeRunJS(wkeWebView webView, const utf8* script);

参数

  • webView:WebView 句柄
  • script:JavaScript 代码

返回值

  • jsValue:JavaScript 执行结果

说明

  • 代码在闭包中执行
  • 返回值需要通过 jsXXX 相关接口获取具体类型信息

wkeRunJSW

执行 JavaScript 代码(宽字符版本)。

jsValue wkeRunJSW(wkeWebView webView, const wchar_t* script);

参数

  • webView:WebView 句柄
  • script:JavaScript 代码

返回值

  • jsValue:JavaScript 执行结果

wkeGlobalExec

获取页面主框架的 JavaScript 执行状态。

jsExecState wkeGlobalExec(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • jsExecState:JavaScript 执行状态

wkeSleep

暂停 WebView。

void wkeSleep(wkeWebView webView);

参数

  • webView:WebView 句柄

注意

  • ⚠️ 此功能尚未实现

注意事项

  • 确保在使用 API 前正确初始化 Miniblink
  • 部分 API 可能在不同版本中有差异,请参考版本说明
  • 建议在使用前测试 API 的兼容性
  • 注意已废弃 API 的替代方案

提示:本文档会持续更新,如果您发现任何问题或有改进建议,请通过反馈页面联系我们。

缩放控制

wkeSetZoomFactor

设置页面缩放系数。

void wkeSetZoomFactor(wkeWebView webView, float factor);

参数

  • webView:WebView 句柄
  • factor:缩放系数(默认值为 1.0)

wkeGetZoomFactor

获取页面缩放系数。

float wkeGetZoomFactor(wkeWebView webView);

参数

  • webView:WebView 句柄

返回值

  • float:当前缩放系数

wkeSetEditable

设置页面是否可编辑。

void wkeSetEditable(wkeWebView webView, bool editable);

参数

  • webView:WebView 句柄
  • editable:是否可编辑

注意

  • ⚠️ 此功能尚未实现

事件回调

wkeOnTitleChanged

设置标题变化通知回调。

void wkeOnTitleChanged(wkeWebView webView, wkeTitleChangedCallback callback, void* callbackParam);

回调函数签名

typedef void(*wkeTitleChangedCallback)(wkeWebView webView, void* param, const wkeString title);

参数

  • webView:WebView 句柄
  • callback:回调函数
  • callbackParam:回调函数用户参数

wkeOnMouseOverUrlChanged

设置鼠标悬停链接变化回调。

void wkeOnMouseOverUrlChanged(wkeWebView webView, wkeTitleChangedCallback callback, void* callbackParam);

说明

  • 当鼠标悬停在链接元素上时触发
  • 回调函数会收到链接的 URL

wkeOnURLChanged

设置 URL 变化回调(基础版本)。

void wkeOnURLChanged(wkeWebView webView, wkeURLChangedCallback callback, void* callbackParam);

wkeOnURLChanged2

设置 URL 变化回调(扩展版本)。

void wkeOnURLChanged2(wkeWebView webView, wkeURLChangedCallback2 callback, void* callbackParam);

回调函数签名

typedef void(*wkeURLChangedCallback2)(wkeWebView webView, void* param, wkeWebFrameHandle frameId, const wkeString url);

说明

  • 相比基础版本多了 frameId 参数
  • 可用于判断是否是主框架的 URL 变化

wkeOnPaintUpdated

设置页面重绘更新回调。

void wkeOnPaintUpdated(wkeWebView webView, wkePaintUpdatedCallback callback, void* callbackParam);

回调函数签名

typedef void(*wkePaintUpdatedCallback)(wkeWebView webView, void* param, const HDC hdc, int x, int y, int cx, int cy);

参数说明

  • x, y:更新区域左上角坐标
  • cx, cy:更新区域宽度和高度

wkeOnPaintBitUpdated

设置位图更新回调。

void wkeOnPaintBitUpdated(wkeWebView webView, wkePaintBitUpdatedCallback callback, void* callbackParam);

说明

  • 适用于游戏中的离屏渲染
  • 回调提供像素缓冲区而不是 DC

对话框回调

wkeOnAlertBox

设置 JavaScript alert 对话框回调。

void wkeOnAlertBox(wkeWebView webView, wkeAlertBoxCallback callback, void* callbackParam);

wkeOnConfirmBox

设置 JavaScript confirm 对话框回调。

void wkeOnConfirmBox(wkeWebView webView, wkeConfirmBoxCallback callback, void* callbackParam);

wkeOnPromptBox

设置 JavaScript prompt 对话框回调。

void wkeOnPromptBox(wkeWebView webView, wkePromptBoxCallback callback, void* callbackParam);

导航回调

wkeOnNavigation

设置导航事件回调。

void wkeOnNavigation(wkeWebView webView, wkeNavigationCallback callback, void* param);

回调函数签名

typedef bool(*wkeNavigationCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, const wkeString url);

导航类型

类型说明
WKE_NAVIGATION_TYPE_LINKCLICK点击链接触发
WKE_NAVIGATION_TYPE_FORMSUBMITTE表单提交触发
WKE_NAVIGATION_TYPE_BACKFORWARD前进后退触发
WKE_NAVIGATION_TYPE_RELOAD重新加载触发

返回值说明

  • true:允许导航
  • false:阻止导航

wkeOnCreateView

设置新窗口创建回调。

void wkeOnCreateView(wkeWebView webView, wkeCreateViewCallback callback, void* param);

回调函数签名

typedef wkeWebView(*wkeCreateViewCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, const wkeString url, const wkeWindowFeatures* windowFeatures);

文档事件

wkeOnDocumentReady

设置文档加载完成回调(基础版本)。

void wkeOnDocumentReady(wkeWebView webView, wkeDocumentReadyCallback callback, void* param);

说明

  • 对应 JavaScript 的 body onload 事件

wkeOnDocumentReady2

设置文档加载完成回调(扩展版本)。

void wkeOnDocumentReady2(wkeWebView webView, wkeDocumentReady2Callback callback, void* param);

说明

  • 相比基础版本多了 frameId 参数
  • 可用于判断是否是主框架的加载完成事件

网络事件

wkeOnDownload

设置下载事件回调。

void wkeOnDownload(wkeWebView webView, wkeDownloadCallback callback, void* param);

wkeNetOnResponse

设置网络响应回调。

void wkeNetOnResponse(wkeWebView webView, wkeNetResponseCallback callback, void* param);

wkeOnConsole

设置控制台输出回调。

void wkeOnConsole(wkeWebView webView, wkeConsoleCallback callback, void* param);

wkeSetUIThreadCallback

设置 UI 线程回调。

void wkeSetUIThreadCallback(wkeWebView webView, wkeCallUiThread callback, void* param);

注意

  • ⚠️ 此功能尚未实现

wkeOnLoadUrlBegin

设置网络请求开始回调。

void wkeOnLoadUrlBegin(wkeWebView webView, wkeLoadUrlBeginCallback callback, void* callbackParam);

回调函数签名

typedef bool(*wkeLoadUrlBeginCallback)(wkeWebView webView, void* param, const char *url, void *job);

重要说明

  1. 设置 wkeNetHookRequest 后会触发 wkeOnLoadUrlEnd 回调
  2. 返回 true 表示拦截请求,false 表示继续请求

示例

// 替换特定 URL 的内容
bool handleLoadUrlBegin(wkeWebView webView, void* param, const char* url, void* job) {
    if (strstr(url, "http://example.com/target.js")) {
        wkeNetSetMIMEType(job, "text/javascript");
        const char* newContent = "console.log('Modified content');";
        wkeNetSetData(job, newContent, strlen(newContent));
        return true;
    }
    return false;
}

// 修改网络响应
bool handleLoadUrlBegin(wkeWebView webView, void* param, const char* url, void* job) {
    if (strstr(url, "http://example.com/api")) {
        wkeNetHookRequest(job);
        return false;
    }
    return false;
}

wkeOnLoadUrlEnd

设置网络请求结束回调。

void wkeOnLoadUrlEnd(wkeWebView webView, wkeLoadUrlEndCallback callback, void* callbackParam);

说明

  • 需要在 wkeOnLoadUrlBegin 中设置 wkeNetHookRequest 才会触发

脚本上下文

wkeOnDidCreateScriptContext

设置脚本上下文创建回调。

void wkeOnDidCreateScriptContext(wkeWebView webView, wkeDidCreateScriptContextCallback callback, void* callbackParam);

说明

  • 每个框架创建时都会触发此回调

wkeOnWillReleaseScriptContext

设置脚本上下文释放回调。

void wkeOnWillReleaseScriptContext(wkeWebView webView, wkeWillReleaseScriptContextCallback callback, void* callbackParam);

多媒体

wkeOnWillMediaLoad

设置多媒体加载回调。

void wkeOnWillMediaLoad(wkeWebView webView, wkeWillMediaLoadCallback callback, void* callbackParam);

说明

  • 在创建 video 等多媒体标签时触发

框架操作

wkeIsMainFrame

判断是否是主框架。

bool wkeIsMainFrame(wkeWebView webView, wkeWebFrameHandle frameId);

参数

  • webView:WebView 句柄
  • frameId:框架 ID

返回值

  • bool:是否是主框架

Frame 操作相关API

wkeWebFrameGetMainFrame

wkeWebFrameHandle wkeWebFrameGetMainFrame(wkeWebView webView)

获取主frame的句柄。

wkeRunJsByFrame

jsValue wkeRunJsByFrame(wkeWebView webView, wkeWebFrameHandle frameId, const utf8* script, bool isInClosure)

在指定的frame上运行JavaScript代码。

参数说明:

  • isInClosure: 表示是否在外层包装function() 形式的闭包

注意: 如果需要返回值,在isInClosure为true时,需要写return,为false则不用

wkeGetFrameUrl

const utf8* wkeGetFrameUrl(wkeWebView webView, wkeWebFrameHandle frameId)

获取frame对应的URL。

字符串处理API

wkeString相关操作

wkeGetString

const utf8* wkeGetString(const wkeString s)

获取wkeString结构体对应的字符串,使用UTF-8编码。

wkeGetStringW

const wchar_t* wkeGetStringW(const wkeString string)

获取wkeString结构体对应的字符串,使用UTF-16编码。

wkeSetString

void wkeSetString(wkeString string, const utf8* str, size_t len)

设置wkeString结构体对应的字符串,使用UTF-8编码。

wkeSetStringW

void wkeSetStringW(wkeString string, const wchar_t* str, size_t len)

设置wkeString结构体对应的字符串,使用UTF-16编码。

wkeCreateStringW

wkeString wkeCreateStringW(const wchar_t* str, size_t len)

通过UTF-16编码的字符串创建一个wkeString。

wkeDeleteString

void wkeDeleteString(wkeString str)

析构wkeString对象。

用户数据存储API

wkeSetUserKeyValue

void wkeSetUserKeyValue(wkeWebView webView, const char* key, void* value)

对webView设置一个key-value键值对,可用于保存用户自定义的任何指针。

wkeGetUserKeyValue

void* wkeGetUserKeyValue(wkeWebView webView, const char* key)

获取之前设置的用户键值对。

窗口管理API

基础窗口操作

wkeCreateWebView

wkeWebView wkeCreateWebView()

创建一个webview,但不创建真实窗口。通常用于离屏渲染场景,如游戏中。

wkeDestroyWebView

void wkeDestroyWebView(wkeWebView webView)

销毁webview,效果同wkeDestroyWebWindow。

窗口创建与销毁

wkeCreateWebWindow

wkeWebView wkeCreateWebWindow(wkeWindowType type, HWND parent, int x, int y, int width, int height)

创建一个带真实窗口的wkeWebView。

窗口类型(wkeWindowType):

  • WKE_WINDOW_TYPE_POPUP: 普通窗口
  • WKE_WINDOW_TYPE_TRANSPARENT: 透明窗口(通过layer window实现)
  • WKE_WINDOW_TYPE_CONTROL: 嵌入在父窗口里的子窗口(需要设置parent)

wkeDestroyWebWindow

void wkeDestroyWebWindow(wkeWebView webWindow)

销毁wkeWebView对应的所有数据结构,包括真实窗口。

窗口事件处理

wkeOnWindowClosing

void wkeOnWindowClosing(wkeWebView webWindow, wkeWindowClosingCallback callback, void* param)

当真实窗口模式下收到WM_CLOSE消息时触发此回调。可通过在回调中返回false来拒绝关闭窗口。

wkeOnWindowDestroy

void wkeOnWindowDestroy(wkeWebView webWindow, wkeWindowDestroyCallback callback, void* param)

窗口即将被销毁时触发回调。此操作无法取消。

窗口控制API

wkeShowWindow

void wkeShowWindow(wkeWebView webWindow, bool showFlag)

显示或隐藏窗口。

wkeEnableWindow

void wkeEnableWindow(wkeWebView webWindow, bool enableFlag)

启用或禁用窗口。

wkeMoveWindow

void wkeMoveWindow(wkeWebView webWindow, int x, int y, int width, int height)

移动和调整窗口大小。

wkeMoveToCenter

void wkeMoveToCenter(wkeWebView webWindow)

使窗口在父窗口或屏幕中居中显示。

wkeResizeWindow

void wkeResizeWindow(wkeWebView webWindow, int width, int height)

调整窗口大小,效果同wkeResize。

wkeSetWindowTitle

void wkeSetWindowTitle(wkeWebView webWindow, const utf8* title)
void wkeSetWindowTitle(wkeWebView webWindow, const wchar_t* title)

设置窗口标题,支持UTF-8和宽字符版本。

初始化与配置API

核心初始化

wkeInit / wkeInitialize

void wkeInit()
void wkeInitialize()

初始化整个mb环境。这些函数必须在所有mb API调用之前最先调用。所有mb API必须与调用wkeInit的线程为同一线程。

wkeShutdown / wkeFinalize

void wkeShutdown()
void wkeFinalize()

(已废弃)关闭整个mb环境。调用后,所有mb API将不能再被调用。

wkeIsInitialize

bool wkeIsInitialize()

检查mb环境是否已初始化。

代理设置

wkeSetProxy

void wkeSetProxy(const wkeProxy* proxy)

设置全局代理配置。

wkeSetViewProxy

void wkeSetViewProxy(wkeWebView webView, wkeProxy* proxy)

为特定webview设置代理配置。

环境配置

wkeConfigure

void wkeConfigure(const wkeSettings* settings)

配置全局设置。

配置结构:

typedef struct {
    wkeProxy proxy;
    unsigned int mask;
} wkeSettings;

可用掩码:

  • WKE_SETTING_PROXY: 设置代理,效果同wkeSetProxy

功能开关API

wkeSetMemoryCacheEnable

void wkeSetMemoryCacheEnable(wkeWebView webView, bool b)

启用/禁用内存缓存。启用时网页的图片等将缓存在内存中。

注意: 关闭后内存使用会降低,但可能引起问题。如不熟悉,建议保持启用。

wkeSetTouchEnabled

void wkeSetTouchEnabled(wkeWebView webView, bool b)

启用/禁用触屏模式。启用后,鼠标消息将自动转换为触屏消息。

wkeSetMouseEnabled

void wkeSetMouseEnabled(wkeWebView webView, bool b)

启用/禁用鼠标消息。可在启用触屏后关闭鼠标消息。

wkeSetNavigationToNewWindowEnable

void wkeSetNavigationToNewWindowEnable(wkeWebView webView, bool b)

控制新窗口打开行为。禁用后,点击链接将在当前窗口打开而不是新窗口。

设备模拟API

wkeSetDeviceParameter

void wkeSetDeviceParameter(wkeWebView webView, const char* device, const char* paramStr, int paramInt, float paramFloat)

(已废弃)设置mb模拟的硬件设备环境,主要用于手机设备模拟。

支持的设备参数:

device参数说明所需参数
"navigator.maxTouchPoints"设置触控点数paramInt
"navigator.platform"设置平台标识paramStr
"navigator.hardwareConcurrency"设置CPU核心数paramInt
"screen.width"设置屏幕宽度paramInt
"screen.height"设置屏幕高度paramInt
"screen.availWidth"设置可用屏幕宽度paramInt
"screen.availHeight"设置可用屏幕高度paramInt
"screen.pixelDepth"设置像素深度paramInt
"window.devicePixelRatio"设置设备像素比paramFloat

安全设置

wkeSetCspCheckEnable

void wkeSetCspCheckEnable(wkeWebView webView, bool b)

控制跨域安全策略检查。

说明:

  • 关闭后,跨域检查将被禁止
  • 可以执行任何跨域操作,如跨域ajax、跨域设置iframe

插件与性能控制

wkeSetNpapiPluginsEnabled

void wkeSetNpapiPluginsEnabled(wkeWebView webView, bool b)

启用或禁用NPAPI插件(如Flash)。

wkeSetHeadlessEnabled

void wkeSetHeadlessEnabled(wkeWebView webView, bool b)

启用无头模式。

说明:

  • 开启后不会渲染页面,提升网页性能
  • 适用于爬虫或自动化工具开发

调试与开发工具

wkeSetDebugConfig

void wkeSetDebugConfig(wkeWebView webView, const char* debugString, const char* param)

配置调试和实验性选项。

支持的调试选项:

debugString说明param说明
"showDevTools"开启开发者工具开发者工具资源路径(UTF-8),如file:///c:/miniblink-release/front_end/inspector.html
"wakeMinInterval"设置帧率(值越大帧率越低)默认值:10
"drawMinInterval"设置帧率(值越大帧率越低)默认值:3
"antiAlias"设置抗锯齿渲染必须为"1"
"minimumFontSize"最小字体大小字体大小值
"minimumLogicalFontSize"最小逻辑字体大小字体大小值
"defaultFontSize"默认字体大小字体大小值
"defaultFixedFontSize"默认等宽字体大小字体大小值

窗口设置

wkeSetHandle

void wkeSetHandle(wkeWebView webView, HWND wnd)

设置webview对应的窗口句柄。

注意: 仅在无窗口模式下可用,wkeCreateWebWindow创建的webview已自带窗口句柄。

wkeSetHandleOffset

void wkeSetHandleOffset(wkeWebView webView, int x, int y)

设置无窗口模式下的绘制偏移。

说明:

  • 主要用于离屏模式
  • 当绘制位置不在真窗口(0, 0)处时需要调用

wkeSetViewSettings

void wkeSetViewSettings(wkeWebView webView, const wkeViewSettings* settings)

配置webview相关设置(目前仅支持背景颜色设置)。

wkeSetTransparent

void wkeSetTransparent(wkeWebView webView, bool transparent)

在无窗口模式下启用透明模式。

wkeIsTransparent

bool wkeIsTransparent(wkeWebView webView)

判断窗口是否为分层窗口(layer window)。

用户代理设置

wkeSetUserAgent

void wkeSetUserAgent(wkeWebView webView, const utf8* userAgent)

设置WebView的User-Agent。

wkeSetUserAgentW

void wkeSetUserAgentW(wkeWebView webView, const wchar_t* userAgent)

设置WebView的User-Agent(宽字符版本)。

wkeGetUserAgent

const utf8* wkeGetUserAgent(wkeWebView webView)

获取WebView的User-Agent。

页面加载

wkeLoadURL

void wkeLoadURL(wkeWebView webView, const utf8* url)

加载网络URL(如"http://qq.com/")。

wkeLoadW

void wkeLoadW(wkeWebView webView, const wchar_t* url)

加载URL(宽字符版本)。

wkeLoadHTML

void wkeLoadHTML(wkeWebView webView, const utf8* html)

加载HTML字符串。

注意: HTML中的相对路径相对于exe所在目录。

wkeLoadHtmlWithBaseUrl

void wkeLoadHtmlWithBaseUrl(wkeWebView webView, const utf8* html, const utf8* baseUrl)

加载HTML字符串,并指定baseURL。

wkeLoadFile

void wkeLoadFile(wkeWebView webView, const utf8* filename)

加载本地文件。

wkeGetURL

const utf8* wkeGetURL(wkeWebView webView)

获取主frame的URL。

网络请求控制

wkeNetSetHTTPHeaderField

void wkeNetSetHTTPHeaderField(void* jobPtr, wchar_t* key, wchar_t* value, bool response)

wkeOnLoadUrlBegin回调中设置HTTP请求头。

说明:

  • 适用于HTTP和file协议
  • response参数必须设置为false

wkeNetGetRawHttpHead

const wkeSlist* wkeNetGetRawHttpHead(wkeNetJob jobPtr)

wkeOnLoadUrlBegin回调中获取原始请求头。

返回值:

  • const wkeSlist*:C语言链表结构,详见头文件

wkeNetSetMIMEType

void wkeNetSetMIMEType(void* jobPtr, char* type)

wkeOnLoadUrlBegin回调中设置MIME类型。

wkeNetGetMIMEType

const char* wkeNetGetMIMEType(void* jobPtr, wkeString mime)

获取MIME类型(mime参数可传nullptr)。

wkeNetSetData

void wkeNetSetData(void* jobPtr, void* buf, int len)

wkeOnLoadUrlEnd中设置hook后的缓存数据。

wkeNetCancelRequest

void wkeNetCancelRequest(void* jobPtr)

wkeOnLoadUrlBegin回调中取消请求。

wkeNetGetFavicon

int wkeNetGetFavicon(wkeWebView webView, wkeOnNetGetFavicon callback, void* param)

获取网站图标。

注意: 必须在wkeOnLoadingFinish回调中调用,可用以下代码判断主frame:

wkeTempCallbackInfo* temInfo = wkeGetTempCallbackInfo(webView);
if (::wkeIsMainFrame(webView, temInfo->frame)) {
    ::wkeNetGetFavicon(webView, HandleFaviconReceived, divaram);
}

wkeNetHoldJobToAsynCommit

BOOL wkeNetHoldJobToAsynCommit(void* jobPtr)

高级异步请求控制。

说明:

  • wkeOnLoadUrlBegin中调用
  • 用于无法立即判断结果的情况
  • 可在之后调用wkeNetContinueJob继续请求
  • 返回TRUE表示成功,FALSE表示调用失败

wkeNetGetRequestMethod

wkeRequestType wkeNetGetRequestMethod(void *jobPtr)

获取请求方法(如POST或GET)。

wkeNetGetPostBody

wkePostBodyElements* wkeNetGetPostBody(void *jobPtr)

获取POST请求数据(仅POST请求有效)。

Post数据处理

wkePostBodyElements* wkeNetCreatePostBodyElements(wkeWebView webView, size_t length)
void wkeNetFreePostBodyElements(wkePostBodyElements* elements)
wkePostBodyElement* wkeNetCreatePostBodyElement(wkeWebView webView)
void wkeNetFreePostBodyElement(wkePostBodyElement* element)

POST数据处理相关接口:

  • 用于创建新的POST数据包
  • 释放原有POST数据
  • wkeOnLoadUrlBegin中使用

JavaScript参数处理

jsArgCount

int jsArgCount(jsExecState es)

获取JavaScript调用C++回调时的参数个数。

jsArgType

jsType jsArgType(jsExecState es, int argIdx)

获取指定索引参数的类型(索引从0开始)。

jsArg

jsValue jsArg(jsExecState es, int argIdx)

获取指定索引参数的值。

jsTypeOf

jsType jsTypeOf(jsValue v)

获取jsValue的类型。

类型判断函数

bool jsIsNumber(jsValue v)
bool jsIsString(jsValue v)
bool jsIsBoolean(jsValue v)
bool jsIsObject(jsValue v)  // 非数字、字符串、undefined、null、函数时返回true
bool jsIsTrue(jsValue v)    // 对象类型返回false
bool jsIsFalse(jsValue v)   // 等价于!jsIsTrue(v)

值转换函数

int jsToInt(jsExecState es, jsValue v)       // 非数值类型返回0
double jsToDouble(jsExecState es, jsValue v)  // 非数值类型返回0.0
const wchar_t* jsToTempStringW(jsExecState es, jsValue v)  // 非字符串返回L"",下一帧自动释放
const utf8* jsToTempString(jsExecState es, jsValue v)      // 同上
const utf8* jsToString(jsExecState es, jsValue v)          // 返回UTF-8编码
const wchar_t* jsToStringW(jsExecState es, jsValue v)      // 返回宽字符

JavaScript值创建

jsInt

jsValue jsInt(int n)

创建一个整数类型的jsValue。

jsString

jsValue jsString(jsExecState es, const utf8* str)

创建一个UTF-8编码的字符串类型jsValue。

说明:

  • 字符串内容会在内部被复制保存

jsArrayBuffer

jsValue jsArrayBuffer(jsExecState es, char* buffer, size_t size)

创建一个ArrayBuffer类型的jsValue,用于处理二进制数据。

jsGetArrayBuffer

wkeMemBuf* jsGetArrayBuffer(jsExecState es, jsValue value)

获取ArrayBuffer类型的数据内容。

jsEmptyObject

jsValue jsEmptyObject(jsExecState es)

创建一个空的JavaScript对象。

JavaScript代码执行

jsEvalW

jsValue jsEvalW(jsExecState es, const wchar_t* str)

执行JavaScript代码并返回结果。

注意:

  • 代码会自动被包装在function()中,变量会被隔离
  • 需要写return语句才能获取返回值

jsEvalExW

jsValue jsEvalExW(jsExecState es, const wchar_t* str, bool isInClosure)

扩展版本的JavaScript代码执行。

参数说明:

  • isInClosure: 是否包装在function()
  • 当isInClosure为true时需要写return才能获取返回值

JavaScript函数调用

jsCall

jsValue jsCall(jsExecState es, jsValue func, jsValue thisValue, jsValue* args, int argCount)

调用JavaScript函数。

参数说明:

  • func: 要调用的函数(可以是从js获取或自行构造的)
  • thisValue: 成员函数的this值(普通函数可传jsUndefined)
  • args: 参数数组
  • argCount: 参数个数

jsCallGlobal

jsValue jsCallGlobal(jsExecState es, jsValue func, jsValue* args, int argCount)

调用window对象上的全局函数。

JavaScript对象操作

jsGet/jsSet

jsValue jsGet(jsExecState es, jsValue object, const char* prop)
void jsSet(jsExecState es, jsValue object, const char* prop, jsValue value)

获取/设置对象属性。

说明:

  • 如果object不是js对象类型,jsGet将返回jsUndefined

jsGetGlobal/jsSetGlobal

jsValue jsGetGlobal(jsExecState es, const char* prop)
void jsSetGlobal(jsExecState es, const char* prop, jsValue v)

获取/设置window对象上的全局属性。

jsGetAt/jsSetAt

jsValue jsGetAt(jsExecState es, jsValue object, int index)
void jsSetAt(jsExecState es, jsValue object, int index, jsValue value)

获取/设置数组元素。

说明:

  • object必须是JavaScript数组类型
  • jsGetAt对非数组返回jsUndefined

jsGetKeys

jsKeys* jsGetKeys(jsExecState es, jsValue object)

获取对象的所有键名。

jsGetLength/jsSetLength

int jsGetLength(jsExecState es, jsValue object)
void jsSetLength(jsExecState es, jsValue object, int length)

获取/设置数组长度。

说明:

  • object必须是JavaScript数组类型

环境操作

jsGetWebView

wkeWebView jsGetWebView(jsExecState es)

获取执行状态对应的WebView。

jsGC

void jsGC()

强制执行垃圾回收。

JavaScript函数绑定

jsBindFunction

void fastcall jsBindFunction(const char* name, jsNativeFunction fn, unsigned int argCount)

绑定全局函数到主frame的window对象。

重要说明:

  • 仅能绑定到主frame
  • 使用fastcall调用约定
  • 必须在webview创建前调用
  • 与wkeJsBindFunction不同,注意区分

使用示例:

// C++代码
jsValue JS_CALL onNativeFunction(jsExecState es) {
    jsValue v = jsArg(es, 0);
    const wchar_t* str = jsToTemdivStringW(es, v);
    OutdivutdebugStringW(str);
}
jsBindFunction("testCall", onNativeFunction, 1);

// JavaScript代码
window.testCall('testStrt');

jsBindGetter/jsBindSetter

void jsBindGetter(const char* name, jsNativeFunction fn)
void jsBindSetter(const char* name, jsNativeFunction fn)

绑定window对象的属性访问器/设置器。

示例:

jsBindGetter("XXX", getter_function)

wkeJsBindFunction

void wkeJsBindFunction(const char* name, wkeJsNativeFunction fn, void* param, unsigned int argCount)

增强版函数绑定。

说明:

  • 可传递自定义参数
  • 必须在webview创建前调用

JavaScript对象创建

jsObject

jsValue jsObject(jsExecState es, jsData* data)

构建可传递给JavaScript使用的对象。

回调函数类型:

// 属性访问器 (obj.prop形式调用)
typedef jsValue(*jsGetPropertyCallback)(jsExecState es, jsValue object, const char* propertyName);

// 属性设置器 (obj.prop = value形式调用)
typedef bool(*jsSetPropertyCallback)(jsExecState es, jsValue object, const char* propertyName, jsValue value);

// 函数调用处理 (obj()形式调用)
typedef jsValue(*jsCallAsFunctionCallback)(jsExecState es, jsValue object, jsValue* args, int argCount);

// 终结器 (垃圾回收时调用)
typedef void(*jsFinalizeCallback)(struct tagjsData* data);

jsFunction

jsValue jsFunction(jsExecState es, jsData* data)

创建主frame的全局函数。

说明:

  • 功能类似jsObject但专注于函数创建
  • JavaScript中使用XXX()形式调用时触发data的callAsFunction

jsGetData

jsData* jsGetData(jsExecState es, jsValue value)

获取通过jsObject或jsFunction创建的jsValue对应的jsData指针。

错误处理

jsGetLastErrorIfException

jsExceptionInfo* jsGetLastErrorIfException(jsExecState es)

获取最近的JavaScript执行异常信息。

说明:

  • 用于wkeRunJs、jsCall等接口调用后的异常检查
  • 无异常时返回nullptr

On this page

Miniblink API 参考基础函数wkeVersionwkeSetWkeDllPathwkeFireMouseEvent内存管理wkeGC文件系统wkeSetFileSystem页面状态wkeIsLoadedwkeIsLoadingSucceededwkeIsLoadFailedwkeIsLoadCompletewkeIsDocumentReady页面控制wkeStopLoadingwkeReloadwkeWakewkeIsAwake页面信息wkeGetTitlewkeGetTitleW页面布局wkeResize页面尺寸wkeGetWidthwkeGetHeightwkeGetContentWidthwkeGetContentHeight页面渲染wkeSetDirtywkeIsDirtywkeAddDirtyAreawkeLayoutIfNeededwkePaint2wkePaintwkeRepaintIfNeededwkeGetViewDCwkeGetHostHWND导航控制wkeCanGoBackwkeGoBackwkeCanGoForwardwkeGoForward编辑操作wkeEditorSelectAllwkeEditorUnSelectwkeEditorCopywkeEditorCutwkeEditorDeletewkeEditorUndowkeEditorRedoCookie 管理wkeGetCookieWwkeGetCookiewkeSetCookiewkeVisitAllCookiewkePerformCookieCommandwkeClearCookiewkeSetCookieEnabledwkeIsCookieEnabledwkeSetCookieJarPathwkeSetCookieJarFullPath存储管理wkeSetLocalStorageFullPath媒体控制wkeSetMediaVolumewkeGetMediaVolume事件处理wkeFireMouseEventwkeFireContextMenuEventwkeFireMouseWheelEventwkeFireKeyUpEventwkeFireKeyDownEventwkeFireKeyPressEventwkeFireWindowsMessage焦点控制wkeSetFocuswkeKillFocuswkeGetCaretRectJavaScript 交互wkeRunJSwkeRunJSWwkeGlobalExecwkeSleep注意事项缩放控制wkeSetZoomFactorwkeGetZoomFactorwkeSetEditable事件回调wkeOnTitleChangedwkeOnMouseOverUrlChangedwkeOnURLChangedwkeOnURLChanged2wkeOnPaintUpdatedwkeOnPaintBitUpdated对话框回调wkeOnAlertBoxwkeOnConfirmBoxwkeOnPromptBox导航回调wkeOnNavigationwkeOnCreateView文档事件wkeOnDocumentReadywkeOnDocumentReady2网络事件wkeOnDownloadwkeNetOnResponsewkeOnConsolewkeSetUIThreadCallbackwkeOnLoadUrlBeginwkeOnLoadUrlEnd脚本上下文wkeOnDidCreateScriptContextwkeOnWillReleaseScriptContext多媒体wkeOnWillMediaLoad框架操作wkeIsMainFrameFrame 操作相关APIwkeWebFrameGetMainFramewkeRunJsByFramewkeGetFrameUrl字符串处理APIwkeString相关操作wkeGetStringwkeGetStringWwkeSetStringwkeSetStringWwkeCreateStringWwkeDeleteString用户数据存储APIwkeSetUserKeyValuewkeGetUserKeyValue窗口管理API基础窗口操作wkeCreateWebViewwkeDestroyWebView窗口创建与销毁wkeCreateWebWindowwkeDestroyWebWindow窗口事件处理wkeOnWindowClosingwkeOnWindowDestroy窗口控制APIwkeShowWindowwkeEnableWindowwkeMoveWindowwkeMoveToCenterwkeResizeWindowwkeSetWindowTitle初始化与配置API核心初始化wkeInit / wkeInitializewkeShutdown / wkeFinalizewkeIsInitialize代理设置wkeSetProxywkeSetViewProxy环境配置wkeConfigure功能开关APIwkeSetMemoryCacheEnablewkeSetTouchEnabledwkeSetMouseEnabledwkeSetNavigationToNewWindowEnable设备模拟APIwkeSetDeviceParameter安全设置wkeSetCspCheckEnable插件与性能控制wkeSetNpapiPluginsEnabledwkeSetHeadlessEnabled调试与开发工具wkeSetDebugConfig窗口设置wkeSetHandlewkeSetHandleOffsetwkeSetViewSettingswkeSetTransparentwkeIsTransparent用户代理设置wkeSetUserAgentwkeSetUserAgentWwkeGetUserAgent页面加载wkeLoadURLwkeLoadWwkeLoadHTMLwkeLoadHtmlWithBaseUrlwkeLoadFilewkeGetURL网络请求控制wkeNetSetHTTPHeaderFieldwkeNetGetRawHttpHeadwkeNetSetMIMETypewkeNetGetMIMETypewkeNetSetDatawkeNetCancelRequestwkeNetGetFaviconwkeNetHoldJobToAsynCommitwkeNetGetRequestMethodwkeNetGetPostBodyPost数据处理JavaScript参数处理jsArgCountjsArgTypejsArgjsTypeOf类型判断函数值转换函数JavaScript值创建jsIntjsStringjsArrayBufferjsGetArrayBufferjsEmptyObjectJavaScript代码执行jsEvalWjsEvalExWJavaScript函数调用jsCalljsCallGlobalJavaScript对象操作jsGet/jsSetjsGetGlobal/jsSetGlobaljsGetAt/jsSetAtjsGetKeysjsGetLength/jsSetLength环境操作jsGetWebViewjsGCJavaScript函数绑定jsBindFunctionjsBindGetter/jsBindSetterwkeJsBindFunctionJavaScript对象创建jsObjectjsFunctionjsGetData错误处理jsGetLastErrorIfException