ファイル処理を使用すると、ファイル メニューの [開く] メニューまたはコンテキスト メニューの [開く] メニューを使用して拡張機能がファイルを開くことができるように、ChromeOS を設定できます。開いたら、ウェブ プラットフォームの Launch Handler API を使用してファイルのデータを処理します。その後、標準のウェブ プラットフォーム API を使用してファイルを表示または処理します。
<ph type="x-smartling-placeholder">拡張機能の対応状況
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];
});
}
``````