事件类型
核心事件
app-ready
| 属性 | 说明 |
|---|---|
| 触发条件 | 应用初始化完成 |
| 事件数据 | success 或错误信息 |
| 数据说明 | 字符串类型,成功时为 "success",失败时为具体错误信息 |
| 说明 | 当 DLL 初始化完成并准备就绪时触发 |
窗口事件
window-created
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口创建完成 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口成功创建时触发 |
app-window-created
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口创建完成 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 窗口创建完成时触发的另一个名称 |
window-closed
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口关闭 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口关闭时触发 |
window-all-closed
| 属性 | 说明 |
|---|---|
| 触发条件 | 所有窗口关闭 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当所有窗口都关闭时触发 |
window-closing
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口即将关闭 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口即将关闭时触发,可用于阻止窗口关闭 |
| 阻止 | 可返回 1 来阻止窗口关闭 |
window-resized
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口大小改变 |
| 事件数据 | {"width": 宽度, "height": 高度} |
| 数据说明 | JSON 对象,包含窗口新的宽度和高度,均为整数类型 |
| 说明 | 当窗口大小改变时触发 |
window-state-changed
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口状态改变 |
| 事件数据 | {"isMaximized": 布尔值} |
| 数据说明 | JSON 对象,包含窗口是否最大化的布尔值 |
| 说明 | 当窗口最大化或从最大化状态还原时触发 |
window-fullscreen
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口全屏状态改变 |
| 事件数据 | {"fullscreen": 布尔值} |
| 数据说明 | JSON 对象,包含窗口是否处于全屏状态的布尔值 |
| 说明 | 当窗口进入或退出全屏状态时触发 |
| 支持版本 | v1.2+ |
window-moved
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口位置改变 |
| 事件数据 | {"x": x 坐标, "y": y 坐标} |
| 数据说明 | JSON 对象,包含窗口新的 x 和 y 坐标,均为整数类型 |
| 说明 | 当窗口位置改变时触发 |
window-focused
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口获得焦点 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口获得焦点时触发 |
window-blurred
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口失去焦点 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口失去焦点时触发 |
window-destroyed
| 属性 | 说明 |
|---|---|
| 触发条件 | 窗口销毁 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当窗口被销毁时触发 |
WebView 事件
webview-will-navigate
| 属性 | 说明 |
|---|---|
| 触发条件 | 即将导航 |
| 事件数据 | {"url": "目标 URL", "window_id": 窗口 ID} |
| 数据说明 | JSON 对象,包含即将导航到的 URL 和窗口 ID |
| 说明 | 当 WebView 即将导航到新 URL 时触发 |
| 阻止 | 可返回 1 来阻止导航 |
| 支持版本 | 0.2 以上 |
webview-did-start-loading
| 属性 | 说明 |
|---|---|
| 触发条件 | 开始加载 |
| 事件数据 | {"url": "加载 URL", "window_id": 窗口 ID} |
| 数据说明 | JSON 对象,包含开始加载的 URL 和窗口 ID |
| 说明 | 当 WebView 开始加载页面时触发 |
webview-did-finish-load
| 属性 | 说明 |
|---|---|
| 触发条件 | 加载完成 |
| 事件数据 | {"url": "加载 URL", "window_id": 窗口 ID} |
| 数据说明 | JSON 对象,包含加载完成的 URL 和窗口 ID |
| 说明 | 当 WebView 加载页面完成时触发 |
webview-new-window
| 属性 | 说明 |
|---|---|
| 触发条件 | 请求新窗口 |
| 事件数据 | {"url": "新窗口 URL", "frame_name": "_blank"} |
| 数据说明 | JSON 对象,包含请求打开的 URL 和框架名称 |
| 说明 | 当 WebView 请求打开新窗口时触发,可用于阻止新窗口打开 |
| 阻止 | 可返回 1 来阻止新窗口打开 |
webview-page-title-updated
| 属性 | 说明 |
|---|---|
| 触发条件 | 页面标题更新 |
| 事件数据 | {"title": "新标题", "window_id": 窗口 ID} |
| 数据说明 | JSON 对象,包含新的页面标题和窗口 ID |
| 说明 | 当页面标题改变时触发 |
webview-page-icon-updated
| 属性 | 说明 |
|---|---|
| 触发条件 | 页面图标更新 |
| 事件数据 | JSON 对象 |
| 数据说明 | JSON 对象,包含页面图标相关信息 |
| 说明 | 当页面图标改变时触发 |
webview-download-started
| 属性 | 说明 |
|---|---|
| 触发条件 | 开始下载 |
| 事件数据 | {"url": "", "filename": ""} |
| 数据说明 | JSON 对象,包含下载的 URL、文件名 |
| 说明 | 当 WebView 开始下载文件时触发 ,0.3.3 后默认阻止下载 |
| 支持版本 | 0.3+ |
javascript-result
| 属性 | 说明 |
|---|---|
| 触发条件 | JavaScript 执行完成 |
| 事件数据 | {"id": 123, "result": "执行结果"} |
| 数据说明 | JSON 对象,包含执行请求的 ID 和执行结果 |
| 说明 | 当 execute_javascript 函数执行完成时触发 |
| 支持版本 | 0.3.2+ |
file-drop
| 属性 | 说明 |
|---|---|
| 触发条件 | 文件拖拽到WebView |
| 事件数据 | {"files": ["文件路径1", "文件路径2"], "x": 位置X, "y": 位置Y} |
| 数据说明 | JSON对象,包含拖拽的文件路径数组和拖拽位置坐标 |
| 说明 | 当文件被拖拽到WebView窗口并释放时触发。注意:使用此事件会接管WebView的拖拽事件处理,导致前端无法收到原生拖拽事件。如果需要前端自己处理拖拽事件,请勿注册此事件。 |
postmessage-received
| 属性 | 说明 |
|---|---|
| 触发条件 | 1.0.2开始支持, 接收PostMessage消息 |
| 事件数据 | data |
| 数据说明 | JSON对象,包含PostMessage的消息内容、来源和消息源 |
| 说明 | 当WebView接收到PostMessage消息时触发,仅当消息来源在postmessage_whitelist中时才会触发 |
主题事件
theme-changed
| 属性 | 说明 |
|---|---|
| 触发条件 | 主题改变 |
| 事件数据 | {} |
| 数据说明 | JSON 对象,无额外数据 |
| 说明 | 当系统主题或窗口主题改变时触发 |
其他事件
update-window-icon
| 属性 | 说明 |
|---|---|
| 触发条件 | 更新窗口图标 |
| 事件数据 | {"window_id": 窗口 ID} |
| 数据说明 | JSON 对象,包含需要更新图标的窗口 ID |
| 说明 | 当需要更新窗口图标时触发 |
通知事件
notification-action
| 属性 | 说明 |
|---|---|
| 触发条件 | 用户点击通知按钮或卡片 |
| 事件数据 | {"action": "action_0", "title": "确定", "arguments": ""} |
| 数据说明 | JSON 对象,包含以下字段:action:动作标识符,具体含义如下:- clicked:点击通知卡片本身- action_0:点击第一个按钮- action_1:点击第二个按钮title:按钮文本arguments:动作参数,来自于 NotificationParams 结构体中的 action 字段 |
| 说明 | 当用户点击通知上的按钮或卡片时触发 |
| 支持版本 | v1.3+ |
notification-dismissed
| 属性 | 说明 |
|---|---|
| 触发条件 | 通知被关闭 |
| 事件数据 | {"reason": "dismissed"} |
| 数据说明 | JSON 对象,包含关闭原因 |
| 说明 | 当通知被用户关闭或自动超时关闭时触发 |
| 支持版本 | v1.3+ |
notification-failed
| 属性 | 说明 |
|---|---|
| 触发条件 | 通知显示失败 |
| 事件数据 | {"error": "错误信息"} |
| 数据说明 | JSON 对象,包含错误信息 |
| 说明 | 当通知显示失败时触发 |
| 支持版本 | v1.3+ |
notification-shown
| 属性 | 说明 |
|---|---|
| 触发条件 | 通知成功显示 |
| 事件数据 | {"title": "通知标题", "body": "通知内容", "text3": "第三行文本"} |
| 数据说明 | JSON 对象,包含通知标题、内容和第三行文本 |
| 说明 | 当通知成功显示时触发 |
| 支持版本 | v1.3+ |