伴随着越来越多的公司和独立开发者将渐进式网页应用(PWA)作为替代本地应用程序的首选解决方案,微软和谷歌为此不断丰富和增强 PWA 的功能,以改善在 Windows 和其他平台上的 Web 应用程序体验。
为了改善 PWA 应用的使用体验,谷歌正在开发一种全新的 API。该 API 将允许 Chrome 的 PWA 应用成为本地文件系统中某类文件的默认“处理”(读取)工具。
在浏览器中,文件处理器代表着 PWA 应用能够处理一组给定 MIME 类型或者文件扩展名之一文件的能力。例如你可以按照某个网页应用为默认图像处理应用,那么在访问 .jpg/.png 等一些常规图片文件格式的时候就会使用 PWA 应用进行打开。
自然,当您双击系统(网络外部)中存储的图像时,您会期望 Web 应用以这些格式之一打开图像文件。虽然 PWA 可以在注册表中注册其处理这些文件类型之一的功能,但 Chromium 当前不支持此功能。
Google 在文档中指出,他们的新项目的目标是提高 Web 应用程序与本机应用程序之间的透明度,并通过启用对文件处理程序的支持来提供“更一致的用户体验”。
作为下一次网络应用程序更新的一部分,Google 正在处理一个新的权限提示,该提示将要求用户确认 PWA 是否可以将自身注册为某些文件扩展名的文件处理程序。
为了启用此功能,谷歌正在使用文件处理 API:
每种可能数量的处理程序都存在不同的翻译字符串,以便更好地在具有不同句子结构的语言之间进行翻译。文件处理程序信息是从 WebAppRegistrar(而不是从眨眼的清单)中检索的,以匹配操作系统中注册的信息。
Chromium 已经支持在 Chrome 和其他浏览器中处理原始测试,但是新的文件处理 API 与通过原始测试过程的其他 API 不同,因为在操作系统中某些状态更改的情况下启用和禁用了测试结果(注册文件处理程序)。
这意味着原始试用版需要一些特殊的体系结构:每次访问 Web 应用程序时,我们都会检查其是否具有有效的原始试用版令牌,如果是,则我们注册文件处理程序,并存储令牌的到期时间如果令牌无效,我们将取消注册文件处理程序。在 Chrome 启动时,我们还将取消其原始试用令牌已过期的所有应用程序的文件处理程序注册。