HTML5 应用生态——让 uWeb 变成全能阅读器
什么是 HTML5 应用
HTML5 应用是一个纯前端(HTML/CSS/JS)组成的小应用,以单文件或少量文件形式放在 uWeb 配置目录下。uWeb 通过 file:// 协议打开它们,并给予它们增强的文件访问权限。
官方文档称其为"PWA-kind web extension"——有点像 Chrome 扩展,但格式更轻量、不需要浏览器扩展商店。
目录约定
HTML5 应用放在配置目录下以 app 开头的子目录里:
app/ # 基础应用目录
appPDF/ # PDF 阅读器应用
appEPUB/ # EPUB 阅读器应用
appMDict/ # MDict 字典应用
这些目录下放置对应的 HTML 文件和资源。
安装方式
官方文档站提供了"点击安装"链接,点击后自动下载到配置目录的 app/ 下。常用应用包括:
| 应用 | 文件名 | 功能 |
|---|---|---|
| PDF 阅读器 | pdfviewer.html | Mozilla pdf.js,支持在线和本地 PDF |
| EPUB 阅读器 | epub.html | 作者 llili 开发的 EPUB.js 阅读器 |
| DJVU 阅读器 | djvu.html | DJVU 格式扫描文档 |
| 超大文件阅读器 | txtview.html | 支持 txt/html/markdown 的大文件 |
| Markdeep 阅读器 | markdeep.html | 支持 LaTeX、图表、Graphviz |
| Plyr 播放器 | plyr.html | 视频播放(Plyr.js) |
| DPlayer 播放器 | dplayer.html | 视频播放(DPlayer.js,支持 flv/hls) |
| MDict 字典 | (搜索引擎串) | mdx/mdd 字典文件 |
基础使用方式
通过特色服务直接打开
default.urls 里预设了 HTML5 应用入口:
大文件:file:///data/user/0/info.torapp.uweb/files/app/txtview.html?url=%u
markdeep大文件:file:///data/user/0/info.torapp.uweb/files/app/markdeep.html?url=%u
plyr播放器:file:///data/user/0/info.torapp.uweb/files/app/plyr.html?u=%u
dplayer播放器:file:///data/user/0/info.torapp.uweb/files/app/dplayer.html?u=%u
pdf:file:///data/user/0/info.torapp.uweb/files/app/pdfviewer.html?file=%u
epub:file:///data/user/0/info.torapp.uweb/files/app/epub.html?u=%u
djvu:file:///data/user/0/info.torapp.uweb/files/app/djvu.html?url=%u
%u 会被替换为当前文件或页面的 URL。
通过 default.filecap 自动触发
配置 default.filecap(文件特殊处理)并打开"文件预处理"后:
- uWeb 可以根据文件扩展名自动选择对应的 HTML5 应用打开
- 比如 .pdf 自动用 pdfviewer.html,.epub 自动用 epub.html
功能增强机制
以 app 开头的目录下的 HTML5 应用会获得功能增强权限,包括:
- 读取任意本地文件
- 处理大文件(通过 offset/length 参数)
- 接收来自 uWeb 内部的命令
超大文件阅读器的高级参数
file:///.../txtview.html?url=文件URL#page=3
file:///.../txtview.html?url=文件URL#offset=10000&500
file:///.../markdeep.html?url=文件URL#offset=10000&500
#offset=偏移量&长度 可以跳过文件开头直接读取指定位置的内容,对几十 MB 的大文件特别有用。
MDict 字典集成
MDict 是最流行的离线字典格式之一,支持 mdx/mdd 双文件。uWeb 可以把 MDict 变成搜索引擎:
搜索引擎配置串
i:5ifile:///.../xxx.mdx,xxx.mdd?app=cdn.jsdelivr.net/gh/torappinfo/uweb/en/searchurl/mdict/mdict.html#word=%s
这行配置的意思是:
i:5i— uWeb 内部协议,添加搜索引擎file:///.../xxx.mdx,xxx.mdd— 字典文件的绝对路径app=— 使用的字典应用 URL#word=%s— 搜索词参数(%s 被替换)
配置后,主屏搜索框里搜任何词,uWeb 会自动用离线 MDict 字典返回释义——完全离线、秒级响应。
字典文件的便捷访问
官方还建议把 app 目录符号链接到公共目录,方便管理字典文件:
- Termux 里执行符号链接命令
- 在任意文件管理器里都能看到 uWeb 的 app/ 目录
- 直接把 .mdx/.mdd 文件复制进去即可
其他可用的播放器
除了 Plyr 和 DPlayer,HTML5 应用还支持:
| 播放器 | 说明 |
|---|---|
| video.js | 通用视频播放器 |
| flv.js(Bilibili) | HTTP-FLV 直播流 |
| APlayer(MoePlayer) | 音乐播放器 |
| html5_rtsp_player | RTSP 流(安防摄像头等) |
注意事项
- HTML5 应用运行在 uWeb 的 WebView 环境里,不是系统独立 App
- 需要勾选"文件预处理"才能让 default.filecap 和某些高级功能生效
- 某些应用需要联网加载 JS 库(如 pdf.js、epub.js 的 CDN 资源),首次使用需要联网