Sejauh ini, 2023 merupakan tahun yang sibuk bagi dunia ekstensi Chrome. Masukan Anda yang berharga telah memungkinkan kami untuk meningkatkan platform ekstensi dan dokumentasi kami. Kami juga terus berkolaborasi dengan vendor browser lainnya di Grup Komunitas WebExtensions agar API ekstensi berfungsi secara lebih konsisten di seluruh browser.
Dalam postingan ini, kami akan membagikan kepada Anda beberapa perubahan yang telah dikerjakan tim ekstensi Chrome selama paruh pertama tahun ini dan fitur mendatang yang akan dirilis pada akhir kuartal ini. Mari kita mulai.
API dan fitur ekstensi baru
Di bagian ini, saya ingin menyoroti beberapa peluncuran API yang signifikan, meninjau secara singkat peningkatan API lainnya, dan membagikan rilis API yang akan datang.
Sorotan
Dokumen di luar layar
Offscreen API diperkenalkan di Chrome 109. Ekstensi ini memungkinkan ekstensi Manifes V3 menangani kasus penggunaan yang memerlukan interaksi dengan DOM atau jendela, yang tidak dapat dijalankan di pekerja layanan ekstensi. Selain itu, Chrome 114 memperkenalkan dua alasan di balik layar tambahan: 'WORKERS'
untuk instance saat dokumen Anda perlu memunculkan pekerja dan 'LOCAL_STORAGE'
untuk membantu memigrasikan data dari window.localStorage
ke chrome.storage
API.
Mulai Chrome 115, Anda dapat memberikan beberapa alasan saat membuat dokumen di luar layar. Hal ini memungkinkan Anda melakukan dua tugas terkait di dokumen yang sama.
Side Panel API Baru 🎉
Sebelumnya, satu-satunya cara untuk membuat sidebar di ekstensi adalah dengan memasukkan elemen baru dengan skrip konten di setiap halaman. Di Chrome 114, Side Panel API telah diluncurkan. Sekarang Anda dapat mengembangkan pengalaman sidebar pendamping untuk pengguna dengan cara yang jauh lebih mudah. Baca selengkapnya tentang cara Side Panel API memungkinkan Anda mendesain pengalaman pengguna yang luar biasa.
Service Worker yang lebih andal
Semua peristiwa ekstensi sekarang memulai ulang timer tidak ada aktivitas pekerja layanan ekstensi. Di Chrome 110, masa pakai maksimum lima menit yang sulit dihapus untuk pekerja layanan ekstensi. Selain itu, pesan ke aplikasi native dan pesan dalam ekstensi akan memulai ulang timer yang tidak ada aktivitas. Baca selengkapnya tentang hal ini di artikel Siklus proses pekerja layanan ekstensi.
Peluncuran API lainnya
- Action API: Mulai Chrome 110, Anda dapat menyesuaikan teks badge dengan
setBadgeTextColor
() dangetBadgeTextColor()
. Selain itu,isEnabled()
memungkinkan Anda memeriksa apakah tindakan diaktifkan untuk tab saat ini. - Commands API: Bug saat pintasan ekstensi, yang dideklarasikan dalam manifes di bagian
"commands._execute_action"
, tidak berubah selama konversi ke MV3, telah diperbaiki di Chrome 111. - API Download: UI download default di Chrome telah dipindahkan dari rak di bagian bawah ke sisi kanan omnibox. Untuk menonaktifkan perilaku ini, Anda dapat menggunakan
downloads.setUiOptions()
yang menggantikansetShelfEnabled()
. - History API:
chrome.history.getVisits()
danchrome.history.search()
juga menampilkan data dari perangkat lain yang telah disinkronkan ke database histori lokal. Hal ini dapat menghasilkan lebih banyak entri histori dan jumlah kunjungan yang lebih tinggi.isLocal
telah ditambahkan keVisitItem
di Chrome 115 (diharapkan stabil nanti bulan ini) agar hanya dapat memfilter menurut kunjungan lokal. - Identity API: Jendela autentikasi kini muncul sebagai pop-up, bukan menempati jendela aplikasi penuh. Untuk memberikan kontrol lebih selama proses pengalihan JavaScript, kami telah menambahkan dua opsi baru:
abortOnLoadForNonInteractive
dantimeoutMsForNonInteractive
. - Storage API: Di Chrome 112, ukuran penyimpanan
chrome.session
ditingkatkan menjadi 10 MB. Kemudian, ukuran penyimpananchrome.local
diubah agar sesuai di Chrome 114.
Segera hadir...
Versi Chrome mendatang akan memperkenalkan banyak fitur untuk mempermudah migrasi ekstensi ke Manifes V3. Untuk daftar perubahan terkait migrasi MV3 mendatang, lihat halaman masalah umum kami. Selain itu, kami berencana menambahkan fitur berikut:
- DeclarativeNetRequest API: Nilai default untuk properti isUrlFilterCaseSensitive akan berubah menjadi
false
. Lihat thread WECG. - File Handling API akan memungkinkan ekstensi ChromeOS membuka file dengan jenis MIME dan ekstensi file yang ditentukan. Fitur ini masih di balik tanda.
- Runtime API: Kami merilis
runtime.getContexts()
untuk menggantikanextension.getViews()
, yang sudah tidak digunakan lagi. Hal ini akan memungkinkan ekstensi menentukan apakah halaman ekstensi seperti panel samping atau dokumen di luar layar terbuka. Lihat proposal WECG. - Pekerja layanan: Kami menambahkan keep-alive yang kuat ke Chrome API yang menampilkan perintah pengguna:
permissions.request()
,desktopCapture.chooseDesktopMedia()
,identity.launchWebAuthFlow()
, danmanagement.uninstall()
. - Side Panel API: Kami meluncurkan
sidepanel.open()
, yang akan membuka panel samping ekstensi secara terprogram sebagai respons terhadap gestur pengguna, seperti klik menu konteks. - TabCapture API: Kami menambahkan kemampuan untuk memanggil
getMediaStreamId()
dari pekerja layanan ekstensi dan mendapatkan MediaStream dari ID streaming dalam dokumen di luar layar. Lihat Perekaman audio dan screenshot untuk mengetahui contohnya.
Nantikan halaman Yang baru di ekstensi untuk mengetahui pengumuman tersebut segera setelah tersedia di Chrome Beta.
Upgrade dokumentasi dan panduan Manifes V3 lainnya
Kami juga telah bekerja keras untuk meningkatkan pengalaman belajar developer. Terima kasih banyak kepada Anda semua yang telah meluangkan waktu untuk mengajukan pertanyaan tentang chromium-group dan melaporkan masalah dokumentasi di developer.chrome.com.
Sorotan
- Bagian Migrasi MV3 yang baru memberikan cara praktis untuk mengonversi ekstensi Manifes V2 ke Manifes V3.
- Panduan Pekerja layanan ekstensi memberikan informasi mendetail tentang topik pekerja layanan ekstensi. Hal ini mencakup cara mendaftarkan dan diupdate, seperti apa siklus proses, cara kerja impor, dan lainnya.
- Tutorial Menangani peristiwa dengan pekerja layanan mengajarkan dasar-dasar pekerja layanan ekstensi. Alat ini membuat ekstensi omnibox yang memberi Anda akses cepat ke halaman referensi API ekstensi.
Informasi terbaru selengkapnya
- Penggunaan Google Analytics 4 menunjukkan cara melacak penggunaan peristiwa pop-up ekstensi dan pekerja layanan.
- Menggunakan geolokasi menunjukkan cara mendapatkan lokasi geografis ekstensi menggunakan Offscreen API.
- Rekaman audio dan screenshot mengajarkan cara merekam audio serta video dari tab, jendela, atau layar menggunakan
chrome.tabCapture
API dannavigator.mediaDevices.getDisplayMedia()
API. - Kami telah menambahkan tips proses debug baru ke panduan Ekstensi proses debug.
- Kami telah memperbarui Panduan peringatan izin untuk mempermudah memahami cara kerja peringatan izin dan cara memberikan pengalaman pengguna yang lebih baik. Selain itu, ada cara praktis untuk memeriksa peringatan yang akan dilihat pengguna.
- Tim dan kontributor kami juga telah menambahkan contoh ekstensi Manifes V3 baru: WASM dalam ekstensi, demo Scripting API, buku resep API Panel Samping, dan contoh DeclarativeNetRequest API. Anda dapat menjelajahi contoh ekstensi lainnya di repo contoh GitHub kami.
Segera hadir...
- Cara memigrasikan kode yang dihosting jarak jauh ke Manifes V3.
- Cara menjalankan pengujian otomatis untuk ekstensi Chrome.
- Panduan Declarative Net Request yang lebih baik.
- Penyempurnaan pada penjelasan skrip konten.
💡 Tahukah Anda?
Sebelum mengakhiri, kami ingin berbagi beberapa alat dan wawasan yang berguna:
- Chrome mulai bekerja untuk mendukung WebHID; Anda dapat bermain-main dengan API mulai Chrome 115 (tetapi perhatikan bahwa API ini masih dalam proses).
- Puppeteer kini mendukung pengujian dalam mode headless menggunakan
--headless=new
. Baca selengkapnya tentang hal ini di postingan blog upgrade mode headless Chrome. - Dengan Alat Pengujian Update Ekstensi, Anda dapat memeriksa peringatan yang dipicu saat izin berubah dalam manifes. Dengan cara ini, Anda dapat mengalami proses pembaruan seperti yang dialami pengguna. Hal ini penting karena beberapa izin mungkin menonaktifkan ekstensi hingga pengguna memberikan akses lagi.
Mari terhubung. 🙌
Tahun ini, tim ekstensi senang bisa bertemu dengan developer ekstensi secara langsung dalam acara Google I/O Connect. Kami sedang berupaya membuat ruang baru untuk terhubung dengan Anda, seperti meluncurkan grup fokus dan acara pertemuan.
Sementara itu, terus ajukan pertanyaan tentang chromium-groups, pertimbangkan untuk berpartisipasi dalam WECG, dan laporkan masalah dokumentasi apa pun di repo GitHub developer.chrome.com.
Sekali lagi, terima kasih telah menjadi bagian dari komunitas developer ekstensi.