Yang baru di Chrome 120 untuk Ekstensi

Chrome 120 kini tersedia dalam versi beta dan menyertakan banyak update menarik bagi developer Ekstensi Chrome.

Tahun ini sangat sibuk bagi tim Ekstensi Chrome. Dengan rilis Chrome 120 Beta kemarin, platform ekstensi melakukan langkah besar lainnya. Untuk mengetahui ringkasan tentang apa yang terjadi tahun ini, lihat info terbaru kuartalan kami dari Juli dan Oktober. Baca terus untuk mengetahui yang baru di Chrome 120 untuk Ekstensi.

Menutup kesenjangan platform

Dengan rilis Chrome 120, kami akan menutup kesenjangan platform yang tersisa yang tercantum di halaman masalah umum Manifes V3. userScript API baru serta dukungan untuk penanganan file di ChromeOS adalah dua item tersisa dalam daftar yang sekarang dapat kita hapus. Bersama dengan perubahan yang dijelaskan dalam update kuartalan sebelumnya, kami sangat senang dengan status platform Ekstensi Chrome saat ini dan apa yang telah kami capai selama setahun terakhir.

userScripts API baru

Dukungan skrip pengguna telah hadir. Skrip pengguna adalah cuplikan kode (biasanya relatif kecil) yang dapat dimasukkan ekstensi ke halaman web untuk mengubah tampilan atau perilaku halaman. Skrip ini dapat dibuat langsung oleh pengguna atau ditemukan di sejumlah repositori skrip pengguna yang berbeda di seluruh web. Mulai Chrome 120, ekstensi Manifes V3 kini dapat mengelola pengumpulan skrip pengguna dan menentukan kapan serta cara memasukkannya di halaman web.

Ada satu perbedaan signifikan antara dukungan skrip pengguna di Manifes V2 dan Manifes V3. Karena skrip pengguna sangat canggih dan memerlukan kepercayaan tinggi pada penulis skrip pengguna, tim Chrome memutuskan bahwa pengguna harus memilih untuk menggunakan mode Developer sebelum dapat menjalankan skrip pengguna.

Halaman ekstensi
Halaman ekstensi (chrome://extensions)

Contoh userScript baru kami menunjukkan pendekatan sederhana untuk mendeteksi apakah Mode developer diaktifkan dan memberikan alur orientasi yang sederhana.

Contoh alur orientasi untuk skrip pengguna.
Melakukan orientasi pengguna saat Mode developer dinonaktifkan.

Untuk memulai, lihat dokumentasi atau lihat contoh resmi.

Batas aturan DNR statis yang lebih tinggi

Kami meningkatkan batas aturan set statis yang diaktifkan secara signifikan dari 10 menjadi 50. Selain itu, kami meningkatkan jumlah total kumpulan aturan statis yang diizinkan dari 50 menjadi 100. Hal ini sebagai respons atas masukan yang kami terima di Grup Komunitas Ekstensi Web.

ReadingList API baru

Chrome memperkenalkan daftar bacaan pada tahun 2021. Tahun lalu, tim Chrome mempermudah akses ke daftar bacaan melalui panel samping. Dengan Chrome 120, kami menambahkan kemampuan bagi Ekstensi Chrome untuk membuat, membaca, memperbarui, dan menghapus entri daftar bacaan. Untuk mempelajari lebih lanjut, lihat dokumen API dan contoh baru kami.

Daftar bacaan Chrome yang menampilkan halaman dokumen ekstensi.
Panel samping daftar bacaan di Chrome.

Penanganan file di ChromeOS

Penanganan file memungkinkan ekstensi membuka file dengan jenis MIME dan ekstensi file yang ditentukan dengan cara yang mirip dengan penanganan file platform web. Lihat Penanganan file di ChromeOS untuk mengetahui lebih lanjut cara menggunakannya.

Screenshot file yang terbuka dengan dialog ekstensi di ChromeOS
Membuka file di ekstensi di ChromeOS.

Memicu alarm dalam 30 detik

Ini adalah update kecil, tetapi mengatasi kesenjangan penting dalam siklus proses pekerja layanan. Karena sifat pekerja layanan yang dipicu peristiwa, cara yang direkomendasikan untuk memicu peristiwa pada masa mendatang adalah menggunakan chrome.alarms. Alarms API memastikan bahwa peristiwa diaktifkan meskipun pekerja layanan dinonaktifkan untuk sementara.

Namun, ada syaratnya. Sebelum Chrome 120, rentang waktu terpendek untuk memicu alarm adalah satu menit. Namun, pekerja layanan dinonaktifkan setelah 30 detik tidak ada aktivitas. Jadi, tidak ada cara mudah untuk menjadwalkan alarm agar diaktifkan dalam 45 detik, karena saat menggunakan setTimeout() untuk menetapkan peristiwa dalam 45 detik, pekerja layanan berpotensi dinonaktifkan sebelum peristiwa diaktifkan.

Mulai Chrome 120, Anda kini dapat memicu peristiwa di:

  • kurang dari 30 detik menggunakan setTimeout().
  • apa pun yang berdurasi lebih dari atau sama dengan 30 detik menggunakan chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Ringkasan

Kami sangat senang dengan kemajuan yang telah dicapai platform ekstensi selama setahun terakhir. Chrome 120 adalah langkah besar lainnya dengan meningkatkan batas DNR dan dukungan skrip pengguna.