JadeView v2.2.0 (Build 26F06)
彻底完善了 v2 的能力
这次更新,我们终于把那些你一直想要、却一直没给的东西做出来了:右键菜单完全由你掌控、本地文件安全暴露(以前根本做不到)、开发时热载自动刷新、性能飞跃,还一口气加了 32 个全新 C API。
v2.2 不是一个小版本,它值得一次大版本号跃升。
- 监听
context-menu事件,获取完整上下文(坐标、目标类型、链接/选中文本、默认菜单项列表)
- 用
jade_menu_item_*API 自由创建命令、分隔线、复选框、单选、子菜单,或直接复用 WebView2 原生项(kind=5,如copy/paste/saveImageAs) - 动态控制启用/勾选,用户点击后返回自定义
item_id
👉 文档
-
register_resource:传入本地文件路径,生成 token 化 URL(/---jade---resource--?token=xxx) -
前端只能看到 token,真实路径永不泄露
-
支持 Range 请求(视频拖动秒切)、自动 MIME、窗口关闭自动清理、最多 4096 条注册
👉 文档 -
set_protocol_service_path新增hot_reload参数,开发时启用后监听资源目录变更,自动清除缓存并刷新页面 -
内置 150ms 防抖,不再需要手动刷新
👉 文档
| 场景 | 优化 | 效果 |
|---|---|---|
| 窗口创建 / IPC | 常驻线程替代 thread::spawn |
窗口创建快 1.5–4ms |
| SPA 静态资源缓存 | 淘汰全清 → 保留最近 1024 条 | 淘汰后首次加载 10–100ms → 1–5ms |
| 页面导航 | 移除冗余日志 | 每次节省 5–20μs |
| 启动速度 | 综合优化 | +10%~20% |
| IPC/事件系统 | 调度优化 | +5~30% |
| 分类 | API |
|---|---|
| 窗口状态查询 | get_window_bounds, is_window_minimized, is_window_visible, is_window_focused, is_window_fullscreen → 文档 |
| 窗口约束 | set_window_min_size, set_window_max_size, set_window_resizable → 文档 |
| DevTools 控制 | open_devtools, close_devtools, is_devtools_open → 文档 |
| 鼠标穿透 | set_window_ignore_cursor_events → 文档 |
| 任务栏特效 | set_window_progress, flash_window → 文档 |
| 系统集成 | 鼠标位置、剪贴板读写、打印机列表 → 文档 |
| 对话框增强 | jade_print_dialog, show_about_dialog → 文档 |
| 浏览数据清除 | clear_browsing_data → 文档 |
| 窗口位置尺寸 | 获取 JSON 格式位置和尺寸 → 文档 |
| 托盘图标增强 | set_tray_icon_from_data(二进制数据) → 文档 |
| 退出应用 | jadeview_exit 替代 cleanup_all_windows → 文档 |
| 导航扩展 | navigate_to_url 支持自定义请求头 → 文档 |
| 智能编码转换 | smart_convert_encoding → 文档 |
| 事件 | 说明 | 文档 |
|---|---|---|
drag-drop |
替代 file-drop,覆盖 enter/over/drop/leave 完整拖拽生命周期 |
→ |
crash |
崩溃时返回错误代码(不泄露源码) | → |
app-ready |
统一格式:成功 window_id=1, data="success";失败 window_id=0, data=错误描述 |
→ |
webview-download-completed |
下载完成时触发 | → |
devtools-open-state |
DevTools 打开/关闭时触发 | → |
context-menu 增强 |
新增 default_menu_names 字段(默认菜单项列表) |
→ |
函数签名:
// hot_reload: 是否启用热载模式 (0=禁用, 1=启用),仅文件系统模式有效
int32_t JADEVIEW_CALL set_protocol_service_path(const char* root_path, char* url_buffer, size_t buffer_size, int32_t hot_reload);- 从 3 个参数 升级为 4 个参数
- 旧代码调用必须补充
hot_reload=0保持兼容 - 仅文件系统模式生效,启用后自动监听文件变更并刷新页面
👉 文档
navigate_to_url 新增 headers_json 参数(向后兼容)
👉 文档
- 新增
jadeview_exit(),废弃cleanup_all_windows()→ 文档 - 新增
smart_convert_encoding()智能转码 API → 文档
autofill– 账号密码自动填充(Windows WebView2 1.0.902+)general_autofill_enabled– 通用表单自动填充incognito– 无痕模式(不保存 cookie/缓存)disable_clipboard– 禁用剪贴板(Windows/Linux)proxy_url– HTTP CONNECT 或 SOCKS5 代理focused– 初始是否获取焦点(Windows/Linux)
👉 平台支持详情
- JAPK 加载异常:超过最大输出长度时返回错误而非崩溃,通过加载失败事件通知。
- 路径获取锁不一致:一次加锁同时读取数据目录和执行路径,保证原子性。
- 最大化窗口顶部裁切:修复无边框窗口最大化后内容被裁切 8px 的问题。
- 启动窗口时偶发慢速:优化窗口创建时的渲染速度。
v2.2 是一次高含金量的大版本,强烈建议所有开发者适配升级。