借助文件处理功能,您可以配置 ChromeOS,以便扩展程序可以使用文件菜单的“打开”菜单或上下文菜单的“打开方式”菜单打开文件。打开文件后,您可以使用 Web 平台的 启动处理程序 API 处理文件的数据。然后,您可以使用标准 Web 平台 API 显示或处理文件。
扩展程序中的可用性
ChromeOS 120 或更高版本。
权限
文件处理不需要任何权限。
清单
您需要将 "file_handlers" 数组添加到 manifest.json 文件。
支持的上下文
此 API 可用于扩展程序 Service Worker、弹出式窗口、侧边栏或内容脚本。
配置文件处理程序
"file_handlers" 的每个成员(即每个 文件处理程序)都会指定要由特定扩展程序页面处理的一种或多种文件类型。
您指定的所有处理程序都将添加到 ChromeOS“文件”窗口的“打开”和“打开方式”菜单中。只有当用户选择具有特定扩展名的文件时,这些处理程序才会显示在这些菜单中。例如,如果文件处理程序指定了 .txt,则只有在选择具有该扩展名的文件时,ChromeOS 菜单才会显示该处理程序。
处理文件
文件处理程序是扩展程序中包含的 HTML 文件。当用户从菜单中选择您的处理程序时,HTML 文件会在新标签页中打开。无论您是显示文件还是以其他方式使用文件,都将使用 JavaScript 和适当的 Web 平台 API 来处理文件。处理代码必须位于单独的 JavaScript 文件中,并通过 <script> 标记包含在内,并且还必须位于您的扩展程序中。脚本文件使用 LaunchQueue 接口来获取 FileSystemFileHandle 对象。
示例
以下示例演示了如何使用 LaunchQueue 接口获取 FileSystemFileHandle 对象。如需查看文件处理的实际效果,请安装文件处理演示。
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````