[中文]|[English]
universal-webview(接下来简称 UW) 是一款基于系统 webview 的图形化界面开发框架灵感来源 Tauri 与它类似,但 Tauri 是基于 rust 开发,UW 是基于 C++ 开发, 因为没有依赖 chromium 所以 UW 要比 Electron 要轻量很多。 不过对应的会产生一点问题就是每个平台的操作系统提供的 WebView 都是不同的标准,在 Web API 上可能会有细微的区别。
tip: 因为我是个人开发者可能支撑度不会很高, 目前仅为实现自己需求的功能为主,如果需要去适配更多功能欢迎 PR 或者提出 issues
- WebView
- Clipboard
- 导航菜单
在 uw.config.json 中配置,然后会触发 js 事件通知到 webview
配置例子
{ "menu": { "navigation": [ { "name": "uw", "children": [ { "name": "about", "key": "about" } ] }, { "name": "Window", "children": [ { "name": "Minimize", "children": [{ "name": "第三级", "children": [ { "name": "第四级", "key": "a44" } ] }] } }, ] } } - 资源本地化
自定义了协议头,让制定写法的 URL 被内部代码拦截,访问到本地资源
以下例子为访问到本地的根目录是代码目录下的 resource uwfile 是协议名,native 是 host 名 uwfile://native 后面才是真正的 URI
<script src="uwfile://native/static/js/main.be3b70e5.js" />
默认协议是由 window.open 传入的指定,比如
window.open('uwfile://native/index.html')那么默认路径就是 uwfile://native,如果写相对路径 就都会走 uwfile://native 除非写绝对路径例如 https://www.baidu.com
- fs
- WebView2
- Clipboard
- fs
- 资源本地化