WebView API 和数据结构
WebView 导航
导航到 URL
函数签名
int navigate_to_url(uint32_t window_id, const char* url);
功能描述 让指定窗口的 WebView 导航到指定的 URL。
参数
window_id:窗口 IDurl:要导航到的 URL
返回值
- 1:成功
- 0:失败
重新加载 WebView 内容
函数签名
int reload_webview_window(uint32_t window_id);
功能描述 重新加载指定窗口的 WebView 内容。
参数
window_id:窗口 ID
返回值
- 1:成功
- 0:失败
说明
- 调用此方法会重新加载当前页面,相当于浏览器的刷新功能
- 支持版本:0.2 以上
设置 WebView 缩放级别
函数签名
int set_webview_zoom(uint32_t window_id, double level);
功能描述 设置指定窗口的 WebView 缩放级别。
支持版本:JadeView 1.1+
参数
window_id:窗口 IDlevel:缩放级别,范围通常为 0.1 到 5.0,1.0 表示正常缩放
返回值
- 1:成功
- 0:失败
JavaScript 交互
执行 JavaScript
函数签名
int execute_javascript(uint32_t window_id, const char* script);
功能描述 在指定窗口的 WebView 中执行 JavaScript 代码,并返回一个唯一 ID。
支持版本: 0.3.2+
参数
window_id:窗口 IDscript:要执行的 JavaScript 代码
返回值
- 执行请求的唯一 ID,用于匹配后续的
javascript-result事件
说明
- 执行完成后会触发
javascript-result事件,返回执行结果 - 事件数据中包含该函数返回的 ID,用于匹配请求和结果
数据结构
WebViewSettings 结构体
定义
typedef struct {
int autoplay;
int background_throttling;
int disable_right_click;
const char* ua;
const char* preload_js;
int allow_fullscreen;
const char* postmessage_whitelist;
} WebViewSettings;
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
autoplay | int | 是否允许自动播放媒体,0=禁用,1=启用 |
background_throttling | int | 背景限速策略,0=默认(启用背景限速),1=禁用背景限速 |
disable_right_click | int | 是否禁用右键菜单,0=启用,1=禁用 |
ua | const char* | 自定义 User-Agent 字符串指针,NULL 表示使用默认 UA |
preload_js | const char* | 预载 JavaScript 代码字符串指针,NULL 表示不预载 JS |
allow_fullscreen | int | 是否允许页面全屏,0=false,1=true(版本支持:JadeView 0.2.1+) |
postmessage_whitelist | const char* | PostMessage 白名单,单个域名字符串,用于限制可接收的 PostMessage 来源 |
功能描述 用于设置 WebView 的高级选项。