Mit der Dateiverarbeitung können Sie ChromeOS so konfigurieren, dass Ihre Erweiterung Dateien entweder über das Menü „Öffnen“ des Menüs „Datei“ oder über das Menü „Öffnen mit“ des Kontextmenüs öffnen kann. Nach dem Öffnen verarbeiten Sie die Daten der Datei mit der Launch Handler API der Webplattform. Anschließend verwenden Sie Standard-Webplattform-APIs, um die Datei anzuzeigen oder zu verarbeiten.
Verfügbarkeit in Erweiterungen
ChromeOS 120 oder höher
Berechtigungen
Für die Dateiverarbeitung sind keine Berechtigungen erforderlich.
Manifest
Sie müssen das "file_handlers" Array der Datei manifest.json hinzufügen.
Unterstützte Kontexte
Diese API kann in Service Workern von Erweiterungen, Pop-ups, Seitenleisten oder Inhaltsskripts verwendet werden.
Dateihandler konfigurieren
Jedes Mitglied von "file_handlers" – also jeder Dateihandler – gibt einen oder mehrere Dateitypen an, die von einer bestimmten Erweiterungsseite verarbeitet werden sollen.
Die von Ihnen angegebenen Handler werden dem ChromeOS-Fenster „Dateien“ und insbesondere den Menüs „Öffnen“ und „Öffnen mit“ hinzugefügt. Sie werden nur in diesen Menüs angezeigt, wenn der Nutzer eine Datei mit der entsprechenden Erweiterung auswählt. Wenn ein Dateihandler beispielsweise .txt angibt, werden die ChromeOS-Menüs nur dann angezeigt, wenn eine Datei mit dieser Erweiterung ausgewählt wird.
Datei verarbeiten
Der Dateihandler ist eine HTML-Datei, die in Ihrer Erweiterung enthalten ist. Wenn der Nutzer Ihren Handler in einem Menü auswählt, wird die HTML-Datei in einem neuen Tab geöffnet. Die Verarbeitung der Datei, unabhängig davon, ob Sie sie anzeigen oder auf andere Weise verwenden, erfolgt mit JavaScript und den entsprechenden Webplattform-APIs. Der Verarbeitungscode muss sich in einer separaten JavaScript-Datei befinden und über ein <script> Tag eingebunden werden. Außerdem muss er in Ihrer Erweiterung enthalten sein. Die Skriptdatei verwendet die LaunchQueue-Schnittstelle der Launch Handler API, um ein FileSystemFileHandle-Objekt abzurufen.
Beispiel
Im folgenden Beispiel wird gezeigt, wie Sie mit der LaunchQueue-Schnittstelle ein FileSystemFileHandle-Objekt abrufen. Wenn Sie die Dateiverarbeitung in Aktion sehen möchten, installieren Sie die Demo zur Dateiverarbeitung.
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````