Penanganan file memungkinkan Anda mengonfigurasi ChromeOS sehingga ekstensi Anda dapat membuka file menggunakan menu Buka di menu file atau menu Buka dengan di menu konteks. Setelah terbuka, Anda memproses data file menggunakan Launch Handler API platform web. Kemudian, Anda akan menggunakan API platform web standar untuk menampilkan atau menangani file.
![Pengendali file ditambahkan ke menu Buka ChromeOS.](https://developer.chrome.google.cn/static/docs/extensions/how-to/web-platform/file-handling-chromeos/image/a-file-handler-added-the-4899ab22819fc.png?authuser=19&hl=id)
Ketersediaan di ekstensi
ChromeOS 120 atau yang lebih baru.
Izin
Tidak ada izin yang diperlukan untuk menangani file.
Manifes
Anda perlu menambahkan array "file_handlers"
ke file manifest.json.
Konteks pendukung
API ini dapat digunakan di pekerja layanan ekstensi, pop-up, panel samping, atau skrip konten.
Mengonfigurasi pengendali file
Setiap anggota "file_handlers"
—yang berarti setiap pengendali file—menentukan satu atau beberapa jenis file yang akan ditangani oleh halaman ekstensi tertentu.
Pengendali yang Anda tentukan akan ditambahkan ke jendela Files ChromeOS, menu Buka dan Buka dengan menu secara khusus. Gambar tersebut hanya akan muncul di menu ini ketika pengguna memilih {i>file<i} dengan ekstensi tertentu. Misalnya, jika pengendali file menentukan .txt
, menu ChromeOS hanya menampilkan pengendali tersebut saat file dengan ekstensi tersebut dipilih.
Memproses file
Pengendali file adalah file HTML yang terdapat dalam ekstensi Anda. Jika pengguna memilih pengendali dari menu, file HTML akan terbuka di tab baru. Pemrosesan file, baik Anda menampilkannya atau menggunakannya dengan cara lain, dilakukan dengan JavaScript menggunakan API platform web yang sesuai. Kode pemrosesan harus dalam file JavaScript terpisah dan disertakan melalui tag <script>
, serta harus ada di ekstensi Anda. File skrip menggunakan antarmuka LaunchQueue
dari Launch Handler API untuk mendapatkan objek FileSystemFileHandle
.
Contoh
Contoh berikut menunjukkan cara mendapatkan objek FileSystemFileHandle
menggunakan antarmuka LaunchQueue
. Untuk melihat cara kerja penanganan file, instal Demo Penanganan File.
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````