ファイル処理を使用すると、拡張機能が [ファイル] メニューの [開く] メニューまたはコンテキスト メニューの [プログラムから開く] メニューを使用してファイルを開くことができるように、ChromeOS を構成できます。ファイルを開いたら、ウェブ プラットフォームの Launch Handler API を使用してファイルのデータを処理します。その後、標準のウェブ プラットフォーム API を使用してファイルを表示または処理します。
拡張機能での利用
ChromeOS 120 以降。
権限
ファイル処理に必要な権限はありません。
マニフェスト
manifest.json ファイルに "file_handlers" 配列を追加する必要があります。
サポートされているコンテキスト
この API は、拡張機能のサービス ワーカー、ポップアップ、サイドパネル、コンテンツ スクリプトで使用できます。
ファイル ハンドラを構成する
"file_handlers" の各メンバー(つまり各 ファイル ハンドラ)は、特定の拡張機能ページで処理されるファイルタイプを指定します。
指定したハンドラは、ChromeOS の [ファイル] ウィンドウの [開く] メニューと [プログラムから開く]
メニューに追加されます。これらのメニューに表示されるのは、ユーザーが特定の拡張子を持つファイルを選択した場合のみです。たとえば、ファイル
ハンドラが .txt を指定している場合、ChromeOS メニューには、その拡張子を持つファイルが選択されたときにのみ、そのハンドラが表示されます。
ファイルを処理する
ファイル ハンドラは、拡張機能に含まれる HTML ファイルです。ユーザーがメニューからハンドラを選択すると、HTML
ファイルが新しいタブで開きます。ファイルを表示する場合でも、他の方法で使用する場合でも、ファイルの処理は適切なウェブ プラットフォーム API
を使用して JavaScript で行われます。処理コードは別の JavaScript ファイルに記述し、<script> タグを使用して含める必要があります。また、拡張機能にも含める必要があります。スクリプト ファイルは、Launch Handler API の LaunchQueue インターフェースを使用して FileSystemFileHandle オブジェクトを取得します。
例
次の例では、LaunchQueue インターフェースを使用して FileSystemFileHandle
オブジェクトを取得する方法を示します。ファイル処理の動作を確認するには、ファイル処理デモをインストールしてください。
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````