Chrome OS でのファイル処理

ファイル処理を使用すると、ファイル メニューの [開く] メニューまたはコンテキスト メニューの [開く] メニューを使用して拡張機能がファイルを開くことができるように、ChromeOS を設定できます。開いたら、ウェブ プラットフォームの Launch Handler API を使用してファイルのデータを処理します。その後、標準のウェブ プラットフォーム API を使用してファイルを表示または処理します。

<ph type="x-smartling-placeholder">
</ph> ChromeOS の [開く] メニューに追加されたファイル ハンドラ。
ChromeOS の [開く] メニューに追加されたファイル ハンドラ。

拡張機能の対応状況

ChromeOS 120 以降。

権限

ファイル操作に必要な権限はありません。

マニフェスト

manifest.json ファイルに "file_handlers" 配列を追加する必要があります。

サポート コンテキスト

この API は、拡張機能 Service Worker、ポップアップ、サイドパネル、コンテンツ スクリプトで使用できます。

ファイル ハンドラを構成する

"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];
  });
}
``````