Dateiverarbeitung unter Chrome OS

Mit der Dateiverarbeitung können Sie ChromeOS so konfigurieren, dass Ihre Erweiterung Dateien entweder über das Menü „Öffnen“ des Dateimenüs oder über das Menü „Öffnen mit“ des Kontextmenüs öffnen kann. Nach dem Öffnen verarbeiten Sie die Daten der Datei mithilfe der Launch Handler API der Webplattform. Anschließend verwenden Sie Standard-Webplattform-APIs, um die Datei anzuzeigen oder zu verarbeiten.

Ein Datei-Handler wurde dem Menü „Öffnen“ in ChromeOS hinzugefügt.
Ein Datei-Handler, der dem ChromeOS-Menü „Öffnen“ hinzugefügt wurde.

Verfügbarkeit in Erweiterungen

ChromeOS 120 oder höher.

Berechtigungen

Für die Dateiverarbeitung sind keine Berechtigungen erforderlich.

Manifest

Du musst der Datei „manifest.json“ das Array "file_handlers" hinzufügen.

Unterstützende Kontexte

Diese API kann in Extension Service Workern, Pop-ups, Seitenleisten oder Inhaltsskripten verwendet werden.

Datei-Handler konfigurieren

Jedes Mitglied der "file_handlers" – d. h. jeder Datei-Handler – gibt einen oder mehrere Dateitypen an, die von einer bestimmten Erweiterungsseite verarbeitet werden sollen.

Die von Ihnen angegebenen Handler werden dem Fenster „ChromeOS-Dateien“ hinzugefügt, speziell in den Menüs „Öffnen“ und „Öffnen mit“. Sie erscheinen in diesen Menüs nur, wenn der Nutzer eine Datei mit der entsprechenden Endung auswählt. Wenn ein Datei-Handler beispielsweise .txt angibt, wird der Handler in den ChromeOS-Menüs nur angezeigt, wenn eine Datei mit dieser Erweiterung ausgewählt ist.

Datei verarbeiten

Der Datei-Handler 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 in JavaScript über die entsprechenden Webplattform-APIs. Der Verarbeitungscode muss sich in einer separaten JavaScript-Datei und über ein <script>-Tag sowie in Ihrer Erweiterung befinden. Die Skriptdatei verwendet die LaunchQueue-Schnittstelle der Launch Handler API, um ein FileSystemFileHandle-Objekt abzurufen.

Beispiel

Das folgende Beispiel zeigt, wie ein FileSystemFileHandle-Objekt mithilfe der LaunchQueue-Schnittstelle abgerufen wird. Installieren Sie die Demo zur Dateibehandlung, um die Dateiverarbeitung in Aktion zu sehen.

if ('launchQueue' in window) {
  launchQueue.setConsumer(async launchParams => {
    if (!launchParams.files || !launchParams.files.length) { return; }
    const fileHandle = launchParams.files[0];
  });
}
``````