跳到主要内容

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_id uint32_t - 目标窗口 id
  • url string - 要导航到的地址
  • headers_json string (可选) - 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_id uint32_t - 目标窗口 id

执行 JavaScript(execute_javascript

往页面里注入并执行一段 JavaScript。

若需要执行结果,通过事件 javascript-result 等取回(见 事件类型)。

返回值只表示「请求有没有提交成功」,不是 JS 的返回值。

int32_t execute_javascript(uint32_t window_id, const char* script);

参数:

  • window_id uint32_t - 目标窗口 id
  • script string - 要执行的 JavaScript 代码

设置网页缩放(set_webview_zoom

整页缩放,例如 1.0 为 100%,1.5 为 150%。

int32_t set_webview_zoom(uint32_t window_id, double level);

参数:

  • window_id uint32_t - 目标窗口 id
  • level double - 缩放比例

清除浏览数据(clear_browsing_data

注意

v2.2 开始支持。

清除指定窗口的所有浏览数据(Cookie / 缓存 / LocalStorage 等)。

int32_t clear_browsing_data(uint32_t window_id);
  • 参数window_id uint32_t
  • 返回值1 = 成功,0 = 失败

安全控制

设置内容保护(set_content_protection

打开后,部分截屏/录屏软件较难采到窗口内容(效果因系统和采集方式而异)。

int32_t set_content_protection(uint32_t window_id, int32_t content_protection);

参数:

  • window_id uint32_t - 目标窗口 id
  • content_protection int32_t - 非 0 启用保护,0 禁用保护

DevTools

注意

v2.2 开始支持。

需在创建窗口时启用 devtools(JadeView_initenable_devmod 参数)。

打开 DevTools(open_devtools

注意

v2.2 开始支持。

int32_t open_devtools(uint32_t window_id);
  • 参数window_id uint32_t
  • 返回值1 = 成功,0 = 失败

关闭 DevTools(close_devtools

注意

v2.2 开始支持。Windows 不支持。

int32_t close_devtools(uint32_t window_id);
  • 参数window_id uint32_t
  • 返回值1 = 成功,0 = 失败

查询 DevTools 是否打开(is_devtools_open

注意

v2.2 开始支持。

int is_devtools_open(uint32_t window_id);
  • 参数window_id uint32_t
  • 返回值1 = 已打开,0 = 未打开

打印

打印 WebView 内容(jade_print

打开 Windows 标准打印对话框,打印当前 WebView 内容。

int32_t jade_print(uint32_t window_id);

参数:

  • window_id uint32_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 中的说明一致。