WebView API(页面控制)
所有操作都针对 window_id(没有单独的 webview 句柄)。WebViewSettings 在 窗口 API 里按字段说明过,这里侧重创建之后还能调什么。
导航与脚本
导航到 URL(navigate_to_url)
让指定窗口里的网页打开另一个地址(http、file、自定义协议等)。
int32_t navigate_to_url(uint32_t window_id, const char* url, const char* headers_json);
参数:
window_iduint32_t- 目标窗口 idurlstring- 要导航到的地址headers_jsonstring(可选) - JSON 对象格式的请求头,如{"Authorization":"Bearer xxx","X-Custom":"value"}。传入NULL或空字符串时行为与原 API 一致 (2.2 修改)
刷新页面(reload_webview_window)
重新加载当前页,和用户按 F5 类似。
int32_t reload_webview_window(uint32_t window_id);
参数:
window_iduint32_t- 目标窗口 id
执行 JavaScript(execute_javascript)
往页面里注入并执行一段 JavaScript。
若需要执行结果,通过事件 javascript-result 等取回(见 事件类型)。
返回值只表示「请求有没有提交成功」,不是 JS 的返回值。
int32_t execute_javascript(uint32_t window_id, const char* script);
参数:
window_iduint32_t- 目标窗口 idscriptstring- 要执行的 JavaScript 代码
设置网页缩放(set_webview_zoom)
整页缩放,例如 1.0 为 100%,1.5 为 150%。
int32_t set_webview_zoom(uint32_t window_id, double level);
参数:
window_iduint32_t- 目标窗口 idleveldouble- 缩放比例
清除浏览数据(clear_browsing_data)
注意
v2.2 开始支持。
清除指定窗口的所有浏览数据(Cookie / 缓存 / LocalStorage 等)。
int32_t clear_browsing_data(uint32_t window_id);
- 参数:
window_iduint32_t - 返回值:
1= 成功,0= 失败
安全控制
设置内容保护(set_content_protection)
打开后,部分截屏/录屏软件较难采到窗口内容(效果因系统和采集方式而异)。
int32_t set_content_protection(uint32_t window_id, int32_t content_protection);
参数:
window_iduint32_t- 目标窗口 idcontent_protectionint32_t- 非0启用保护,0禁用保护
DevTools
注意
v2.2 开始支持。
需在创建窗口时启用 devtools(
JadeView_init的enable_devmod参数)。
打开 DevTools(open_devtools)
注意
v2.2 开始支持。
int32_t open_devtools(uint32_t window_id);
- 参数:
window_iduint32_t - 返回值:
1= 成功,0= 失败
关闭 DevTools(close_devtools)
注意
v2.2 开始支持。Windows 不支持。
int32_t close_devtools(uint32_t window_id);
- 参数:
window_iduint32_t - 返回值:
1= 成功,0= 失败
查询 DevTools 是否打开(is_devtools_open)
注意
v2.2 开始支持。
int is_devtools_open(uint32_t window_id);
- 参数:
window_iduint32_t - 返回值:
1= 已打开,0= 未打开
打印
打印 WebView 内容(jade_print)
打开 Windows 标准打印对话框,打印当前 WebView 内容。
int32_t jade_print(uint32_t window_id);
参数:
window_iduint32_t- 目标窗口 id
返回值:
1- 打印对话框已打开0- 失败(窗口不存在或不支持打印)
注意
此功能仅 Windows 平台支持。
运行时信息
获取 WebView 版本(get_webview_version)
读出本机安装的 Microsoft WebView2 运行时版本号(不是 JadeView 版本)。写入 buffer(UTF-8 + \0)。
int32_t get_webview_version(char* buffer, size_t buffer_size);
与 工具 API 中的说明一致。