Via
Via copied to clipboard
使用Via浏览器作为一个快捷网页应用启动器
有时对于一些很简单功能的应用,如计算类和小工具类,使用网页实现会很方便。有时可以以单文件实现,有时需要引用外部资源或作为一个网页应用,但在这些情况下又不至于专门使用如GitHub Pages或Vercel在线部署,或是就想本地使用又不想开发PWA的,我觉得如果Via能直接支持打开本地网页应用会很不错。
由于新版安卓对于本地文件访问的策略,目前Via在打开本地文件时只能访问那个被打开的文件,且会将其复制到自己的外部私有目录下(/sdcard/Android/0/data/...),这就导致了该HTML引用的其他本地文件无法被访问。如,1.html引用同目录下的1.jpg,在文件浏览器中以Via打开1.html,则1.jpg就不能正确显示。只能访问本地一个单独的HTML文件有时还是太局限了。一个方法是,是否可以允许Via使用“所有文件访问权限”以自由访问/sdcard下大多数的文件,从而在URL中可直接使用file:///...的形式以实现直接访问外部文件系统?
此外,上述依然是直接访问html文件。作为网页应用,有时需要配合一个静态服务器。我想到两个办法:
- 在打开本地HTML时可以将该HTML所在位置作为根目录开一个内置的静态服务器(当然需要“所有文件访问权限”)(类似CX文件管理器在使用浏览器打开本地HTML时做的那样,它会在/sdcard下开一个HTTP静态服务器,然后浏览器的URL就写类似于
http://127.0.0.1:xxxxx/main/0/storage/emulated/.../.../a.html。上述1.html图片的例子在这个情况下就能正确显示); - 使用一种“bundle格式”,例如把整个网页应用打包成一个特定的文件,使用Via打开此特定文件时,Via会先把这个包拷贝到私有目录,再解包,再在解包的根目录开启一个内置服务器,从而实现一键启动一个本地web app的功能。
当Via能正确打开本地多文件网页应用时,再使用“创建桌面快捷方式”,就可实现一键“轻应用”了。
正需要这个功能,看来只有想办法把依赖弄到一个html 文件了