Periksa halaman ini secara rutin untuk mempelajari perubahan pada ekstensi Chrome, dokumentasi ekstensi, kebijakan terkait, atau perubahan lainnya. Anda akan menemukan pemberitahuan lainnya yang diposting di Ekstensi Google Grup. Jadwal Chrome mencantumkan tanggal rilis stabil dan beta.
Video: Apa itu Kode yang Dihosting Jarak Jauh?
Patrick dari tim Ekstensi Chrome menjelaskan konsep Remotely Hosted Code (RHC) pada Ekstensi Chrome. Pelajari alasan RHC tidak lagi diizinkan, cara mendeteksinya, dan apa yang harus dilakukan jika ekstensi Anda perlu diupdate. Tonton video lengkapnya.
Chrome 127: Action.openPop API baru
Mulai Chrome 127, action.openPopup
API tersedia untuk semua ekstensi. Sebelumnya, fitur ini hanya tersedia di Canary
atau untuk ekstensi yang diinstal oleh kebijakan.
Video: Wawancara tim Kepercayaan & Keamanan
Tim DevRel Ekstensi Chrome berdiskusi dengan tim Kepercayaan & Keamanan yang memimpin peninjauan di Chrome Web Store untuk mengajukan pertanyaan Anda. Tonton video lengkapnya.
Postingan blog: Penghentian penggunaan Manifes V2 dimulai
Mulai 3 Juni di saluran Chrome Beta, Dev, dan Canary, jika pengguna masih menginstal ekstensi Manifes V2, beberapa pengguna akan mulai melihat banner peringatan saat mengunjungi halaman pengelolaan ekstensi mereka - chrome://extensions - yang memberi tahu mereka bahwa beberapa ekstensi (Manifes V2) yang telah mereka instal akan segera tidak didukung lagi. Baca selengkapnya di pengumuman resmi
Update pada UI Panel Samping
Baru-baru ini kami melakukan beberapa perubahan pada UI Panel Samping, termasuk menambahkan ikon pin dan menghapus ikon panel samping global. Baca selengkapnya di PSA dan lihat dokumentasi dan contoh terbaru kami.
Postingan blog: Ekstensi Chrome di Google I/O 2024
Google I/O lainnya sebentar lagi akan kami mulai dan kami telah membahas semua pembaruan ekstensi yang menarik. Buka YouTube untuk menonton video lengkapnya dan membaca postingan blog kami untuk mengetahui beberapa sorotan.
Lewati peninjauan untuk perubahan Permintaan Jaring Deklaratif yang memenuhi syarat
Chrome Web Store kini memungkinkan Anda melewati peninjauan untuk perubahan yang memenuhi syarat saat menggunakan Declarative Net Request API. Pelajari lebih lanjut kelayakan dan cara ikut serta di dokumentasi Chrome Web Store.
deployPercentage tersedia di Chrome Web Store API
Baru-baru ini kami memperbarui dokumentasi Chrome Web Store API untuk menyertakan informasi tentang deployPercentage
, yang memungkinkan Anda menetapkan persentase deployment peluncuran sebagian. Pelajari deployPercentage
.
Chrome 126: Uji Coba Origin dalam ekstensi
Chrome 126 memperkenalkan kolom manifest.json baru - trial_tokens
, sehingga Anda dapat ikut serta dalam Uji Coba Origin dan Uji Coba Penghentian Penggunaan di semua platform ekstensi. Baca panduan untuk mengetahui informasi selengkapnya.
Postingan blog: Yang terjadi di Ekstensi Chrome-April 2024
Kami telah memublikasikan edisi baru What's Happening in Chrome Extensions. Postingan ini membahas apa yang telah dikerjakan tim ekstensi selama beberapa bulan terakhir. Hal ini mencakup: Rollback Versi di Chrome Web Store, dukungan Firebase Auth yang lebih baik, serta peluncuran dan update API lainnya.
Rollback versi di Dasbor Developer Chrome Web Store
Roll back ekstensi Anda ke versi yang dipublikasikan sebelumnya di Chrome Web Store—tanpa peninjauan tambahan. Baca postingan blog dan dokumentasi untuk informasi selengkapnya.
Chrome 124: Advanced documentScan API
documentScan
API
tingkat lanjut kini tersedia di ChromeOS untuk menemukan dan mengambil gambar dari
pemindai dokumen yang terpasang.
Chrome 124: Dukungan WebGPU di Service Worker
Mulai Chrome 124, pekerja layanan mendukung WebGPU. Untuk memulai dengan cepat, lihat contoh ekstensi WebGPU.
Chrome 123: Events API mendukung pemfilteran berdasarkan blok CIDR
Events API kini mendukung pemfilteran
berdasarkan blok Classless Inter-Domain Routing (CIDR). Blok CIDR adalah kumpulan alamat IP yang
memiliki awalan jaringan dan jumlah bit yang sama. Sebelumnya, developer perlu memfilter beberapa alamat IP yang diperlukan untuk mengonfigurasi aturan filter untuk setiap alamat dalam rentang blok. Saat ekstensi memanggil addListener()
, aturan yang diteruskan berarti pengendali peristiwa hanya akan dipanggil jika bagian host URL adalah alamat IP dan terdapat di setiap blok CIDR yang ditentukan dalam array.
Chrome Web Store: Pembaruan pada persyaratan panjang nama ekstensi
Di Chrome Web Store, sekarang ada batas universal 75 karakter untuk kolom "name"
ekstensi di manifes.json. Sebelumnya, batas bahasa Inggris adalah 45 karakter, dan tidak ada pembatasan untuk kolom "name"
di lokalitas lain.
Hal ini awalnya dimaksudkan untuk memungkinkan perbedaan budaya dan bahasa yang mungkin tidak dapat ditangkap dalam jumlah karakter yang sama. Sayangnya, fitur ini disalahgunakan oleh sejumlah kecil developer untuk mengirim spam ke toko. Oleh karena itu, kami memperkenalkan batas universal baru, yaitu peningkatan hingga 75 karakter. Batas ini mencakup hampir semua ekstensi di Play Store saat ini, sehingga Anda mungkin tidak perlu melakukan tindakan apa pun akibat perubahan ini. Jika Anda mencoba mengupload ekstensi dengan nama yang lebih panjang dari batas maksimum, upload akan diblokir oleh app store.
Postingan blog: perjalanan eyeo untuk menguji penangguhan pekerja layanan
Dalam postingan yang ditulis oleh tim Mesin Ekstensi eyeo ini, kami membahas masalah pengujian pekerja layanan ekstensi. Di Manifest V2, ekstensi berada di halaman latar belakang, yang aktif selama siklus proses ekstensi. Manifes V3 menggunakan pekerja layanan, dan pekerja layanan secara desain menghemat resource dengan mematikan saat tidak diperlukan. Hal ini menghadirkan tantangan pengujian tertentu. Postingan ini menjelaskan cara eyeo mengatasi tantangan ini.
Chrome 123: Alarm kini berjalan saat perangkat dalam mode tidur
Alarm yang disetel menggunakan chrome.alarms
API
tidak lagi ditunda saat perangkat beralih ke mode tidur. Saat perangkat aktif, alarm akan menyala sekali terlepas dari berapa banyak alarm yang terlewat. Misalnya, misalnya,
alarm disetel untuk berbunyi sekali dalam satu jam dan perangkat yang digunakannya tidur dari
pukul 00.55 hingga 02.05, maka hanya alarm pukul 02.00 yang akan memicu peristiwa onAlarm
.
Pemicu ini akan diaktifkan sedekat mungkin pada pukul 02.00, dan segera saat perangkat aktif
jika dalam mode tidur.
Perubahan ini menjadikan Chrome selaras dengan perilaku yang disetujui di Grup Komunitas Ekstensi Web.
Postingan blog: Perubahan pada perilaku bfcache dengan port pesan ekstensi
Back/forward cache (bfcache) adalah pengoptimalan browser yang memungkinkan navigasi kembali dan maju instan. Mulai
Chrome 123, saat halaman dengan port ekstensi terbuka disimpan di bfcache, saluran pesan akan ditutup, yang berarti tidak ada pesan yang akan dikirim ke halaman tersebut.
Dengan demikian, skrip ekstensi harus memproses peristiwa siklus proses seperti onDisconnect
dan menyiapkan koneksi baru saat halaman dipulihkan dari BFCache.
Untuk mengetahui informasi selengkapnya dan kode contoh, lihat Perubahan pada perilaku BFCache dengan port pesan ekstensi.
Chrome 122: Dukungan Promise pada API ekstensi asinkron
Kita telah selesai menerapkan dukungan Promise untuk semua metode API ekstensi asinkron. Hal ini dilakukan untuk memodernisasi metode API dengan meningkatkan ergonomi
menangani operasi asinkron. Beberapa metode (misalnya,
desktopCapture.chooseDesktopMedia()
) tetap hanya mendukung callback
karena platformnya saat ini tidak kompatibel dengan Promise. Untuk kompatibilitas
mundur, callback masih didukung. Jika Anda menemukan Promise yang gagal, harap laporkan bug.
Panduan baru untuk komunikasi real time
Kami baru saja memublikasikan panduan tentang opsi real time dalam ekstensi. Update real-time menyediakan jalur komunikasi instan dari server Anda langsung ke penginstalan ekstensi. Selain itu, kami memiliki panduan baru untuk menggunakan chrome.gcm dan Web Push.
Panduan dan contoh baru: Menguji penghentian pekerja layanan
Kami baru saja memublikasikan panduan tentang cara Menguji penghentian pekerja layanan dengan Puppeteer. Contoh yang disertakan menunjukkan hal ini di Puppeteer dan Selenium.
Contoh yang diperbarui untuk pesan native
Kami baru saja memublikasikan contoh yang diperbarui untuk pesan native. API ini memungkinkan ekstensi Anda untuk memulai dan berkomunikasi dengan aplikasi lain. Terima kasih kepada kontributor GitHub Shubham-Rasal untuk pekerjaan ini.
Chrome 121: Properti baru yang diakses di tab.Tab
Properti baru bernama lastAccessed
ditambahkan ke objek tabs.Tab
. Properti ini menunjukkan kapan tab terakhir diaktifkan. Nilai yang ditampilkan dalam milidetik sejak epoch.
Chrome 121: Kunci "latar belakang" yang tidak didukung kini mengeluarkan peringatan
Dalam perubahan dari Manifes V2 ke Manifes V3, turunan kunci manifes "background"
diubah untuk mengakomodasi penggantian skrip latar belakang dengan pekerja layanan ekstensi. Sebelumnya, menambahkan kunci Manifes V2 "scripts"
, "page"
, atau "persistent"
ke kunci "background"
dari ekstensi Manifes V3 akan menampilkan error. Keberadaan kunci ini sekarang memicu peringatan.
Tindakan ini dilakukan untuk mengaktifkan penggunaan satu file manifes dalam ekstensi di beberapa browser, sesuai dengan proposal di grup komunitas.
Chrome 120: Perincian alarm minimum dikurangi menjadi 30 detik
Mulai Chrome 120, ekstensi Manifes V3 dapat menggunakan chrome.alarms
API dengan penundaan atau periode selama 30 detik, bukan memerlukan nilai 60 detik atau lebih.
Postingan blog: Melanjutkan transisi ke Manifes V3
Linimasa dukungan Manifes V2 telah diperbarui. Lihat postingan blog November 2023 kami untuk mengetahui detailnya.
Postingan blog: Peningkatan dukungan pemfilteran konten di Manifes V3
Pelajari cara kami meningkatkan deklaratifNetRequest API di postingan blog baru kami.
Postingan blog: Yang baru di Chrome 120 untuk Ekstensi
Chrome 120 Beta baru-baru ini dirilis. Untuk ringkasan pembaruan penting yang relevan bagi developer ekstensi, baca postingan blog baru kami: Yang baru di Chrome 120 untuk Ekstensi. Rilis ini juga menandai tonggak pencapaian besar dengan menghapus dua item terakhir (userScript, pengendali file di ChromeOS) dari daftar kekurangan data platform penting.
PSA: Perubahan pada penanganan URL kebijakan privasi di Dasbor Developer
Kebijakan privasi di Dasbor Developer kini ditambahkan di tingkat item. Hal ini memungkinkan Anda untuk menyediakan kebijakan privasi yang berbeda per item. Baca selengkapnya tentang perubahan ini di PSA kami.
Video: Chat dengan Matt Frisbie
Kami baru saja memublikasikan video baru di channel YouTube Chrome untuk Developer melalui chat dengan Pakar Developer Google dan penulis Matt Frisbie. Tonton di sini.
Panduan baru tentang ekstensi pengujian
Kami baru saja memublikasikan panduan baru tentang cara menulis pengujian otomatis untuk ekstensi, termasuk cara menulis pengujian unit serta panduan umum dan tutorial tentang pengujian menyeluruh.
Postingan blog: Yang terjadi di Ekstensi Chrome - Oktober 2023
Kami baru saja memublikasikan edisi kedua What's Happening in Chrome Extensions. Postingan ini membahas apa yang telah dikerjakan tim ekstensi selama beberapa bulan terakhir, termasuk, mengatasi masalah stabilitas pekerja layanan, dan membuat progres yang bagus untuk mengatasi semua kesenjangan platform MV3. Kami juga membagikan rilis API mendatang yang menarik seperti Bacaan Daftar API dan User Scripts API.
Peningkatan batas kumpulan aturan statis di Declarative Net Request API
Setelah menerima masukan dari Grup Komunitas Ekstensi Web, kami meningkatkan secara signifikan batas kumpulan aturan statis aktif dari 10 menjadi 50. Selain itu, kami meningkatkan jumlah total kumpulan aturan statis yang diizinkan dari 50 menjadi 100. Fitur ini saat ini tersedia di Canary.
Panduan yang lebih baik seputar kode yang dihosting dari jarak jauh
Persyaratan untuk Manifes V3 adalah ekstensi tidak boleh lagi menggunakan kode yang dihosting dari jarak jauh. Meskipun hal ini telah menjadi bagian panduan migrasi kami sejak awal, menurut kami ada baiknya memperbaiki panduan terkait masalah ini. Halaman tersebut sekarang memberikan lebih banyak informasi, yang menjelaskan hal yang masih mungkin dilakukan di Manifes V3 dan memberikan informasi selengkapnya terkait strategi untuk upgrade.
Terdapat tambahan terkait dengan Memecahkan masalah pelanggaran Chrome Web Store. Bagian baru menjelaskan alasan umum penolakan ekstensi dengan kode yang dihosting dari jarak jauh.
Chrome 118: isUrlFilterCaseSensitive kini ditetapkan secara default ke false
Mulai Chrome 118, properti isUrlFilterCaseSensitive
di chrome.declarativeNetRequest
API telah diubah secara default menjadi false
. Jika ingin mempertahankan perilaku lama, Anda dapat menetapkan isUrlFilterCaseSensitive
secara eksplisit ke true
dalam aturan deklaratifNetRequest.
Tindakan ini mengikuti diskusi di Grup Komunitas Ekstensi Web. Firefox dan Safari telah menerapkan perubahan yang serupa.
Dokumentasi tentang cookie dan Web Storage API
Kami memublikasikan panduan baru tentang cara kerja API penyimpanan web dan cookie di ekstensi Chrome. Rilis ini mencakup detail tentang perubahan partisi penyimpanan dan cookie di Privacy Sandbox, yakni project berkelanjutan untuk menghentikan penggunaan cookie pihak ketiga melalui pembuatan serangkaian API platform web baru, serta detail tentang cara kerjanya di ekstensi.
Contoh ekstensi kini dapat ditelusuri
Baru-baru ini kami membuat halaman yang memungkinkan Anda menelusuri contoh ekstensi Chrome. Halaman penelusuran memiliki beberapa opsi. Kotak penelusuran memungkinkan Anda menelusuri teks dalam contoh judul. Anda dapat membatasi penelusuran berdasarkan izin atau API ekstensi. Filter tambahan memungkinkan Anda membatasi penelusuran ke contoh API atau fungsional (kasus penggunaan).
Halaman contoh baru ini dibuat oleh peserta Google Summer of Code, Xuezhou Dai, yang juga memberikan kontribusi beberapa sampel baru. Anda dapat membaca pengalaman mereka selama musim panas lalu di postingan mereka di blog kami.
Seperti sebelumnya, contoh kode kami masih tersedia di GitHub untuk di-clone atau forking.
Chrome 118: Perubahan pada file pembuka: URL skema
Mulai Chrome 118, ekstensi akan memerlukan setelan "Izinkan akses ke URL file" yang diaktifkan dari halaman chrome://extensions
untuk membuka URL skema file:// menggunakan Tab atau Windows API. Anda dapat memeriksa akses ini secara terprogram dengan memanggil chrome.extension.isAllowedFileSchemeAccess()
. Firefox sudah membatasi URL file, dan Safari mendukung perubahan tersebut. Untuk informasi selengkapnya, baca postingan di grup Google ekstensi.
Chrome 117: Perlindungan URL yang diperluas pada navigasi API ekstensi
Navigasi sebelumnya yang dipicu dari panggilan API ekstensi untuk tabs.update()
, tabs.create()
, dan windows.create()
menghasilkan error untuk beberapa URL chrome://. Selain itu, memanggil tabs.update()
dengan URL JavaScript dilarang. Di versi 117, perlindungan pada URL JavaScript ini telah diperluas ke metode tabs.create()
dan sejumlah URL chrome:// tambahan telah ditambahkan ke daftar URL terlarang yang berlaku untuk semua metode yang disebutkan sebelumnya.
Panduan yang lebih baik untuk deklaratifNetRequest API
chrome.declarativeNetRequest
API memblokir atau mengubah permintaan jaringan dengan menentukan aturan deklaratif. Hal ini memungkinkan ekstensi mengubah permintaan jaringan tanpa mencegatnya dan melihat kontennya, sehingga memberikan lebih banyak privasi kepada pengguna. SQL juga sulit digunakan. Dengan mempertimbangkan hal itu, kami telah menulis ulang panduan ini dengan cara yang menurut kami memberikan gambaran yang lebih jelas tentang cara menerapkan set aturan deklaratif. Baca bagian baru di link di atas.
Menggunakan akun Google Analytics Anda dengan Chrome Web Store
Chrome Web Store menawarkan integrasi dengan Google Analytics, yang memungkinkan Anda melihat analisis untuk listingan Chrome Web Store Anda selain tampilan yang ditawarkan di Dasbor Developer. Untuk informasi selengkapnya, baca Menggunakan akun Google Analytics dengan Chrome Web Store.
Chrome 115: DevTools melangkahi skrip konten secara default
Skrip konten yang dimasukkan kini berada di daftar yang diabaikan DevTools secara default. Hal ini tidak memengaruhi titik henti sementara, tetapi artinya skrip konten akan dilewati selama proses debug dan pengecualian dari skrip ini akan diabaikan. Ketika skrip konten terbuka di tab Sumber, banner akan memberi tahu Anda jika skrip tersebut aktif dan memberikan opsi untuk menghapus skrip konten Anda dari daftar yang diabaikan. Untuk menonaktifkan perilaku ini, buka DevTools, buka Setelan, lalu Abaikan daftar. Untuk mempelajari lebih lanjut, lihat Yang baru di DevTools.
Chrome 116 beta: Lebih dari yang dapat kami muat di sini
Chrome 116 adalah rilis besar untuk ekstensi. Sekarang Anda dapat membuka panel samping secara terprogram. Metode baru memungkinkan Anda mengetahui apakah ada dokumen di luar layar yang aktif. Service worker mendapatkan peningkatan server. Ada cukup peningkatan di 116 yang telah kami tulis sebuah postingan blog untuk membahasnya. Chrome 116 masih dalam versi beta mulai 19 Juli.
Postingan blog: Yang terjadi di Ekstensi Chrome
Kami baru saja memublikasikan ringkasan perubahan dan peningkatan pada ekstensi tahun ini. Postingan ini membahas berbagai fitur besar tahun ini, termasuk Side Panel API, peningkatan service worker, dan dokumen offscreen. Anda juga dapat melihat hal yang sedang kami kerjakan untuk kuartal ini. Artikel ini mencantumkan lebih banyak lagi, dengan link ke semua.
Panduan dan contoh baru: Pelajari cara menggunakan Google Analytics 4 di ekstensi Chrome Anda
Kami memublikasikan Google Analytics baru dan panduan geolokasi serta contohnya:
- Versi terbaru panduan Google Analytics kami yang menjelaskan cara menggunakan Google Analytics 4 di ekstensi Chrome Anda. Kami juga telah menambahkan contoh Google Analytics 4 yang berfungsi ke repositori contoh GitHub. Lihat
google-analytics.js
untuk kode yang relevan yang terkait dengan Google Analytics. - Panduan Geolokasi baru dan tiga contoh yang menunjukkan cara mengakses geolokasi di pekerja layanan, skrip konten, pop-up, dan panel samping.
Chrome 115: Tentukan beberapa alasan di chrome.offscreen.createDocument()
Anda kini dapat menentukan beberapa enum reason
saat memanggil chrome.offscreen.createDocument()
. Gunakan ini saat dokumen di balik layar akan digunakan untuk beberapa tujuan yang berbeda. Browser menggunakan alasan yang diberikan untuk menentukan masa berlaku dokumen di balik layar.
Alat baru: Alat Pengujian Update Ekstensi
Kami baru saja merilis Alat Pengujian Update Ekstensi, server update ekstensi lokal yang dapat digunakan untuk menguji update pada Ekstensi Chrome selama pengembangan lokal, termasuk pemberian izin. Alat ini menunjukkan alur update pengguna, termasuk menonaktifkan ekstensi hingga pengguna memberikan izin yang baru diminta. Alat ini sangat berguna untuk menyimulasikan perubahan izin yang diminta saat mengupdate ekstensi dari Manifes V2 ke Manifes V3.
Chrome 114: API Panel Samping Baru
Memperkenalkan Side Panel API baru, platform pendamping yang memungkinkan pengguna mengakses alat bersama konten yang mereka jelajahi. Untuk mempelajari lebih lanjut, buka Referensi Side Panel API. Selain itu, kami telah menambahkan banyak contoh panel samping ke repositori contoh GitHub. Kami juga membagikan info selengkapnya tentang panel samping di postingan blog baru Designing a Superior User Experience with the New Side Panel API. Kebijakan pedoman kualitas dan praktik terbaik kami juga telah ditinjau untuk memberikan panduan lebih lanjut cara membuat ekstensi panel samping berkualitas tinggi.
Masukan Anda penting dalam membuat API ini. Sampaikan pendapat dan permintaan fitur Anda di chromium-groups. Nantikan info terbaru seiring kami terus meningkatkan kualitas Side Panel API.
Sampel Baru: WASM di ekstensi
Ada dua contoh baru yang tersedia yang menunjukkan cara menggunakan WASM dalam ekstensi:
- Menggunakan WASM dalam Manifes V3 menunjukkan metode umum untuk menyertakan modul WASM.
- Penggunaan WASM sebagai modul di Manifes V3 menunjukkan cara menggunakannya dalam modul.
Terima kasih banyak kepada kontributor GitHub @daidr untuk contoh ini.
Panduan migrasi Manifes V3 yang diperbarui
Kami telah memperbarui bagian Masalah Umum dalam panduan migrasi Manifes V3 dengan daftar terbaru kesenjangan platform ekstensi yang ingin kami tutup sebelum mengumumkan linimasa penghentian penggunaan Manifes V2 baru.
Merekam audio dan video dengan Manifes V3
Kami baru saja memublikasikan artikel baru bernama Perekaman audio dan screenshot, yang mencakup perekaman audio atau video dari tab, jendela, atau layar di Manifes V3. Artikel ini menjelaskan beberapa pendekatan untuk perekaman yang melibatkan API chrome.tabCapture
dan fungsi getDisplayMedia()
.
Chrome 114: Peningkatan kuota storage.local
Kami telah meningkatkan kuota untuk properti storage.local
menjadi sekitar 10 MB. Hal ini disetujui oleh Grup Komunitas Ekstensi Web. Hal ini menyesuaikan storage.local
dengan storage.session
yang diubah di Chrome 112.
Tutorial dan bantuan pekerja layanan ekstensi baru
Service Worker merupakan bagian integral dari Ekstensi Chrome. Kami baru saja memublikasikan tutorial yang menjelaskan dasar-dasar pendaftaran, proses debug, dan interaksi dengan Service Worker. Kami juga telah menambahkan Panduan pekerja layanan baru yang menjelaskan konsep penting secara lebih mendetail. Kami akan memperluas bagian ini dalam beberapa bulan mendatang.
Tips pemecahan masalah lainnya untuk pelanggaran Web Store
Untuk membantu publikasi Chrome Web Store, kami menambahkan panduan baru dalam dua area. Panduan untuk fungsi minimum berpusat pada pemberian manfaat dan memperkaya pengalaman menjelajah kepada pengguna. Panduan untuk iklan afiliasi bertujuan membuat pengguna mengetahui ekstensi menggunakan link atau kode afiliasi untuk monetisasi, dan memberi mereka beberapa kontrol dengan meminta tindakan pengguna sebelum penyertaan.
Petunjuk baru untuk Pengonversi Manifes Ekstensi
Kami telah menulis ulang README untuk Pengonversi Manifes Ekstensi agar lebih mudah melihat apa yang perlu Anda lakukan setelah menjalankan alat. Pengonversi membantu memigrasikan ekstensi yang dibangun di Manifes V2 ke Manifes V3. README baru menjelaskan fungsi alat tersebut menggunakan kata-kata yang hampir sama dengan kata-kata yang ada dalam checklist panduan migrasi. Pengonversi tidak melakukan semuanya, tetapi menghilangkan banyak tugas yang tidak memerlukan panggilan penilaian manusia.
Chrome 113: Alasan baru untuk dokumen di balik layar
Kami telah menambahkan dua jenis alasan baru ke Offscreen Documents API. Gunakan LOCAL_STORAGE
untuk mengakses localStorage API platform web. Menggunakan WORKER
saat membuat pekerja web.
Google Analytics 4 kini ada di Dasbor Developer
Dasbor Developer Chrome Web Store kini mendukung Google Analytics 4 (GA4). Kami telah menyederhanakan penyiapan Google Analytics dan mempermudah pengelolaan akses untuk penayang grup. Jika sebelumnya menggunakan Google Universal Analytics untuk melacak aktivitas listingan Play Store, Anda harus mengambil tindakan paling lambat 1 Juli 2023 untuk memastikan Anda terus menerima data tentang listingan Play Store Anda. Untuk informasi selengkapnya, lihat postingan di Grup Google Ekstensi Chromium.
File Handling API hadir di ChromeOS
File Handler API tersedia untuk eksperimen di ChromeOS dalam Canary untuk versi 112 dan 113. Protokol ini memungkinkan ekstensi di ChromeOS membuka file dengan jenis MIME dan ekstensi file yang ditentukan. Untuk menerapkan penanganan file, tambahkan kumpulan aturan ke manifest.json
. Fitur ini berfungsi sama seperti Progressive web app. Untuk informasi selengkapnya, lihat artikel di tempat lain di situs ini.
Untuk mengaktifkan proses penanganan file:
- Mulai versi 112, luncurkan Chrome menggunakan tanda
--enable-features=ExtensionWebFileHandlers
, mulai versi 112 - Mulai 113, tempel
os://flags/#extension-web-file-handlers
ke omnibox Chrome dan pilih 'Aktif' dari menu dropdown.
Kami berharap dapat meluncurkan fitur ini di Chrome 115, pada akhir Juni. Pantau halaman ini untuk mendapatkan info terbaru.
Contoh Baru: deklarasi dinamis dan injeksi terprogram
Kami telah membuat contoh baru untuk chrome.scripting
API. Contoh ini menunjukkan deklarasi dinamis, tempat skrip konten didaftarkan saat runtime, dan injeksi terprogram, tempat skrip dieksekusi di tab yang sudah terbuka.
Sampel Baru: Kasus penggunaan Declarative Net Request
Tersedia tiga contoh baru yang menunjukkan Declarative Net Request API. Masing-masing menunjukkan penerapan satu kasus penggunaan. Contoh pertama menunjukkan cara memblokir cookie. Dua sisanya mendemonstrasikan pemblokiran dan pengalihan URL.
Chrome 112: Peningkatan kuota storage.session
Dari Chrome 112, kuota untuk properti storage.session
telah ditingkatkan menjadi sekitar 10 MB. Perubahan ini disetujui dalam Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350
Chrome 109: Dokumen di luar layar
Dokumen di luar layar kini tersedia di ekstensi Manifes V3. Alat ini membantu transisi dari halaman latar belakang ke pekerja layanan ekstensi dengan memberikan dukungan untuk fitur dan API terkait DOM. Untuk informasi selengkapnya, baca postingan blog.
Chrome 110: Apakah ekstensi diaktifkan
Metode chrome.action.isEnabled()
secara terprogram memeriksa apakah ekstensi telah diaktifkan untuk tab tertentu. Dengan begitu, Anda tidak perlu mempertahankan status aktif tab. Metode baru ini mengambil ID tab dan referensi ke callback dan menampilkan boolean. Kode ini memiliki satu batasan: tab yang dibuat menggunakan chrome.declarativeContent
selalu menampilkan nilai salah.
(Namespace chrome.action
baru-baru ini mendapatkan metode baru untuk mengontrol tampilan badge ekstensi. Untuk mengetahui informasi selengkapnya, lihat Menyetel warna badge.)
Chrome 110: Perubahan pada waktu tunggu tidak ada aktivitas pekerja layanan
Sebelumnya, pekerja layanan ekstensi akan sering mati pada tanda lima menit. Kami telah mengubah perilaku ini agar lebih mirip dengan masa aktif pekerja layanan di web. Pekerja layanan ekstensi akan dinonaktifkan setelah tidak aktif selama tiga puluh detik atau jika satu aktivitas memerlukan waktu lebih dari 5 menit untuk diproses. Untuk informasi selengkapnya, lihat Masa aktif pekerja layanan ekstensi yang lebih lama.
Postingan: Penghentian jeda Manifes V2
Linimasa penghentian penggunaan Manifes V2 sedang dalam peninjauan dan eksperimen yang dijadwalkan untuk awal tahun 2023 ditunda. Untuk informasi selengkapnya, baca pembaruan di Grup Google ekstensi chromium.
Chrome 110: Menyetel warna badge
Namespace chrome.action
memiliki dua metode baru agar Anda dapat lebih mengontrol badge ekstensi tampilan. Metode setBadgeTextColor()
dan getBadgeTextColor()
memungkinkan ekstensi mengubah dan mengkueri warna teks badge ikon toolbar. Saat digunakan dengan setBadgeBackgroundColor
dan getBadgeBackgroundColor
, metode baru ini memungkinkan Anda menerapkan desain dan konsistensi merek.
Postingan blog: Detail selengkapnya tentang transisi ke Manifes V3
Kami telah memperjelas linimasa penghentian penggunaan Manifes V2. Linimasa dukungan Manifes V2 juga telah diperbarui untuk mencerminkan informasi ini.
Update dokumen: Masalah umum saat bermigrasi ke Manifes V3
Kami telah menyusun daftar fitur utama yang saat ini sedang dalam pengembangan dan bug terbuka. Tujuan kami dalam halaman ini adalah membantu developer agar lebih memahami kondisi platform saat ini dan fitur apa yang dapat mereka targetkan saat bersiap menghadapi masa depan.
Chrome Web Store: upload gambar "kartu promo besar" dihapus
Chrome Web Store telah menghapus UI upload "kartu promo besar" dari tab Listingan Play Store item pada dasbor developer. Perubahan ini tidak memengaruhi pengalaman pengguna akhir karena gambar ini tidak digunakan di UI konsumen. Lihat postingan ekstensi chromium ini untuk detail tambahan.
Chrome 106: Mengizinkan halaman di url file:// untuk mengakses resource yang dapat diakses web
Asal buram seperti iframe sandbox dan impor dinamis juga akan dapat mengakses resource yang dapat diakses web, menurut crbug.com/1219825#c11.
Chrome 106: Memperbaiki bug yang mengizinkan argumen akhir yang salah pada beberapa fungsi API asinkron
Sebelumnya, Manifes V3 yang memanggil API asinkron dapat memberikan argumen akhir yang tidak valid dan Chrome tidak akan mengalami error. Dengan perbaikan ini, Chrome kini akan melakukan error dan melaporkan dengan benar bahwa tidak ada tanda tangan yang cocok. Developer dianjurkan untuk memeriksa ekstensi mereka di Canary untuk menemukan error jika mereka tidak sengaja menggunakan tanda tangan yang salah untuk panggilan API yang akan rusak karena perbaikan bug ini.
Postingan blog: Perubahan analisis Chrome Web Store
Chrome Web Store memiliki pengalaman analisis item yang diperbarui untuk Dasbor Developer Chrome Web Store. Dasbor baru lebih mudah dipahami dengan cepat dan menggabungkan informasi yang paling berguna sejak awal. Baca postingan blog untuk mengetahui informasi selengkapnya.
Chrome 105: promise untuk Identity API
Fungsi pada Identity API kini mendukung panggilan berbasis promise. Hal ini disertai dengan sedikit perubahan pada platform untuk
identity.getAuthToken()
, saat
return asinkron yang ditetapkan ke panggilan berbasis promise akan memiliki "token" dan "grantedScopes" sebagai parameter
di satu objek (bukan versi callback yang menerimanya sebagai argumen terpisah untuk
callback).
Chrome 104: API favicon baru untuk Manifes V3
Ekstensi Manifes V3 kini dapat mengakses favicon menggunakan pola URL baru: chrome-extension://<id>/_favicon/
, dengan chrome://favicons
API platform Manifes V2. Lihat dokumen Favicon API untuk informasi selengkapnya.
Pembaruan dokumen: Pengungkapan pedagang/non-pedagang developer
Menambahkan identifikasi developer pedagang/non-pedagang yang memberi tahu developer untuk mendeklarasikan sendiri status pedagang/non-pedagang secara akurat.
Chrome 103: Wasm di Manifes V3 memerlukan wasm-unsafe-eval
Chrome tidak lagi memberikan ekstensi script-src: wasm-unsafe-eval
secara default. Ekstensi yang menggunakan
WebAssembly kini harus menambahkan perintah dan nilai ini secara eksplisit ke extension_pages
dalam
deklarasi content_security_policy
mereka.
Chrome 103: Perubahan pintasan MV3 langsung diterapkan
Saat mengubah pintasan keyboard ekstensi Manifes V3 di chrome://extensions/shortcuts
,
update kini akan segera diterapkan. Sebelumnya, ekstensi harus dimuat ulang sebelum perubahan diterapkan.
Chrome 102: Skrip konten dinamis di platform utama
Skrip konten yang terdaftar secara dinamis kini dapat menentukan
dunia tempat aset akan dimasukkan. Lihat scripting.registerContentScripts()
untuk mengetahui detailnya.
Chrome 102: Kolom manifes baru "optional_host_permissions"
Ekstensi Manifes V3 kini dapat menentukan kunci optional_host_permissions
di manifest.json. Hal ini
memungkinkan ekstensi Manifes V3 mendeklarasikan pola pencocokan opsional untuk host seperti yang dapat dilakukan ekstensi
Manifes V2 menggunakan kunci optional_permissions
.
Chrome 102: properti injectionSegeraly di skriping.executeScript()
chrome.scripting.executeScript()
kini menerima properti injectImmediately
opsional pada argumen
injection
-nya. Jika atribut ini ditetapkan ke true (benar), skrip akan memasukkan ke dalam target sesegera
mungkin, bukan menunggu document_idle
. Perhatikan bahwa hal ini bukan jaminan bahwa skrip akan
dimasukkan sebelum halaman dimuat karena halaman terus dimuat saat panggilan API sedang dilakukan.
Chrome 102: Dukungan Omnibox API di Manifes V3
Kini Omnibox API dapat digunakan dalam ekstensi berbasis pekerja layanan. Sebelumnya, beberapa metode API ini akan menampilkan pemanggilan karena dependensi internal pada kemampuan DOM.
Chrome 102: wasm-unsafe-eval diizinkan di CSP Manifes V3
Ekstensi Manifes V3 kini dapat menyertakan wasm-unsafe-eval
dalam deklarasi
content_security_policy
. Perubahan ini memungkinkan ekstensi Manifes V3 menggunakan WebAssembly.
Chrome 102: API storage.session baru
Ekstensi Manifes V3 kini dapat digunakan dalam penyimpanan memori storage.session .
Pembaruan dokumen: Penemuan item Chrome Web Store
Penemuan di Chrome Web Store memberikan ringkasan tentang cara pengguna menemukan item di Chrome Web Store dan cara editor kami memilih item yang akan ditampilkan.
Chrome 101: Peningkatan kondisi domain deklaratifNetRequest
Kondisi aturan declarativeNetRequest telah diperbarui untuk mengizinkan ekstensi menargetkan permintaan dengan lebih baik berdasarkan domain "permintaan" dan "inisiator" permintaan. Properti kondisi yang relevan adalah initiatorDomains
,
excludedInitiatorDomains
, requestDomains
, dan excludedRequestDomains
. Lihat juga
thread ekstensi chromium ini.
Chrome 100: Menyelesaikan masalah dengan skriping.executeScript() pada tab yang baru dibuat
Memperbaiki masalah yang sudah lama ada saat memanggil scripting.executeScript()
pada tab atau
jendela yang baru dibuat dapat gagal.
Chrome 100: port pesan native membuat pekerja layanan tetap aktif
Menghubungkan ke host pesan native menggunakan chrome.runtime.connectNative()
pada pekerja layanan ekstensi harus menjaga pekerja layanan tetap aktif selama port terbuka.
Chrome 100: omnibox.setDefaultSuggestion() mendukung promise dan callback
Metode
omnibox.setDefaultSuggestion()
kini menampilkan promise atau menerima callback untuk memungkinkan developer menentukan kapan
saran telah ditetapkan dengan benar.
Dukungan Chrome 100: i18n.getMessage() di pekerja layanan ekstensi
chrome.i18n.getMessage()
API kini didukung dalam konteks pekerja layanan ekstensi.
Chrome 99: match_origin_as_fallback di Canary
Skrip konten kini dapat menentukan kunci match_origin_as_fallback
untuk dimasukkan ke dalam frame yang
terkait dengan frame yang cocok, termasuk frame dengan URL about:
, data:
, blob:
, dan filesystem:
. Lihat dokumentasi skrip konten
untuk mengetahui detailnya.
Chrome 99: dukungan pekerja layanan ekstensi untuk skema file: di Canary
Ekstensi Manifes V2 dan Manifes V3 berbasis pekerja layanan kini dapat menggunakan Fetch API untuk meminta
URL skema file:
. Akses ke URL skema file:
tetap mewajibkan pengguna mengaktifkan 'Izinkan akses
ke URL File' untuk ekstensi di halaman chrome://extensions
.
Chrome 99: dukungan promise untuk API pesan di Canary
Dukungan Promise telah ditambahkan ke
tabs.sendMessage
,
runtime.sendMessage
, dan
runtime.sendNativeMessage
untuk
ekstensi yang dibuat untuk Manifes V3.
Pembaruan dokumen: Dokumentasi peninjauan Chrome Web Store
Menambahkan halaman referensi baru yang memberikan ringkasan proses peninjauan Chrome Web Store dan menjelaskan cara penanganan kebijakan program developer.
Chrome 98: skriping.executeScript() dan scripting.insertCSS() menerima beberapa file
Metode executeScript()
dan insertCSS()
Scripting API kini menerima
beberapa file. Sebelumnya, metode ini memerlukan array dengan satu entri file.
Pembaruan dokumen: meninjau pembaruan pemecahan masalah pelanggaran
Halaman Memecahkan masalah pelanggaran Chrome Web Store telah diupdate untuk memberikan panduan yang lebih mendetail kepada developer terkait alasan umum penolakan.
Chrome 96: dukungan promise yang diperluas ke 27 API lainnya
Rilis ini berisi update promise yang jauh lebih banyak daripada rilis sebelumnya. Update mencakup API ekstensi umum dan khusus ChromeOS. Luaskan bagian berikut untuk mengetahui detailnya.
API Ekstensi
Kini sejumlah API mendukung promise di Manifes V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Selain itu, API yang menggunakan prototipe ChromeSetting
kini juga mendukung promise. API berikut terpengaruh oleh perubahan ini.
API ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: skrip konten dinamis
chrome.scripting
API kini mendukung
pendaftaran,
pembaruan,
membatalkan pendaftaran, dan mendapatkan daftar skrip konten
saat runtime. Sebelumnya, skrip konten hanya dapat dideklarasikan secara statis dalam manifest.json ekstensi atau yang dimasukkan secara terprogram saat runtime dengan chrome.scripting.executeScript()
.
Update Dokumen: Linimasa dukungan Manifes V2
Linimasa transisi Manifes V2 ke V3 diumumkan di postingan blog ini dan halaman linimasa yang lebih mendetail dipublikasikan.
Chrome 96: izin deklaratifNetRequestWithHostAccess
Izin declarativeNetRequestWithHostAccess
baru memungkinkan ekstensi menggunakan
API chrome.declarativeNetRequest
di situs
yang izin hostnya dimiliki ekstensi tersebut. Tindakan ini juga akan mengaktifkan ekstensi Manifes V2 yang ada, yang menggunakan izin
webRequest
, webRequestBlocking
, dan host khusus situs untuk bermigrasi ke
chrome.declarativeNetRequest
API tanpa
mewajibkan pengguna menyetujui izin baru.
Chrome 95: memasukkan skrip langsung ke halaman
Metode executeScript()
chrome.scripting
API
kini dapat memasukkan skrip secara langsung ke halaman utama halaman. Sebelumnya, ekstensi hanya dapat dimasukkan secara langsung ke dunia ekstensi yang terisolasi. Untuk mengetahui informasi selengkapnya tentang dunia yang terisolasi, lihat dokumentasi
tentang skrip konten.
Chrome 95: dukungan promise untuk Storage API
Metode pada versi Manifes V3 dari chrome.storage
API kini menampilkan promise.
Pembaruan kebijakan: penerapan verifikasi dua langkah
Postingan blog pembaruan kebijakan yang dipublikasikan pada 29 Juni 2021 telah diperbarui untuk memperbaiki jadwal deployment verifikasi dua langkah.
Chrome 94: perubahan aturan statis permintaan net deklaratif
chrome.declarativeNetRequest
kini mendukung
penentuan hingga 50 kumpulan aturan statis
(MAX_NUMBER_OF_STATIC_RULESETS)
dan mengaktifkan hingga 10 kumpulan aturan
(MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)
dalam satu waktu.
Chrome 93: dukungan isolasi lintas origin
Baik ekstensi Manifes V2 dan Manifes V3 kini dapat memilih untuk menggunakan isolasi lintas asal. Fitur ini membatasi resource lintas origin
yang dapat memuat halaman ekstensi dan memungkinkan penggunaan fitur platform web tingkat rendah seperti
SharedArrayBuffer
. Keikutsertaan akan diwajibkan mulai Chrome 95.
Pembaruan kebijakan: kebijakan program developer diperbarui
Kebijakan Program Developer Chrome Web Store telah diperbarui dengan klarifikasi tentang kebijakan penginstalan yang menipu, spam, dan konten berulang. Update ini juga menyertakan persyaratan verifikasi dua langkah baru untuk dipublikasikan di Chrome Web Store. Baca postingan blog untuk mengetahui informasi selengkapnya.
Postingan blog: tindakan ekstensi di Manifes V3
Ekstensi Chrome memiliki chrome.browserAction
dan chrome.pageActions
API selama bertahun-tahun, tetapi Manifest
V3 menggantikan keduanya dengan chrome.actions
API generik. Postingan
ini membahas histori API ini dan hal-hal yang telah berubah di Manifes V3. Baca postingannya.
Postingan blog: memperkenalkan chrome.scripting
chrome.scripting
API adalah Manifest V3 API baru yang berfokus
pada pembuatan skrip. Dalam postingan ini, kami membahas motivasi untuk perubahan ini dan melihat lebih dekat
kemampuan barunya. Baca postingannya.
Chrome 92: dukungan pekerja layanan modul
Chrome kini mendukung modul JavaScript di pekerja layanan. Untuk menentukan modul dalam manifes Anda:
"background": {
"service_worker": "script.js",
"type": "module"
}
Tindakan ini akan memuat skrip pekerja sebagai modul ES, yang memungkinkan Anda menggunakan kata kunci import
dalam
skrip pekerja untuk mengimpor modul lain.
Chrome 91: chrome.action.getUserSettings()
Metode
chrome.action.getUserSettings()
baru memungkinkan ekstensi menentukan apakah pengguna telah menyematkan ekstensi ke toolbar utama.
Chrome 90: chrome.scripting.removeCSS()
Metode chrome.scripting.removeCSS()
baru memungkinkan ekstensi untuk menghapus CSS yang sebelumnya disisipkan melalui
chrome.scripting.insertCSS()
. API ini
menggantikan chrome.tabs.removeCSS()
.
Chrome 90: menampilkan promise dari scripting.executeScript()
chrome.scripting.executeScript()
sekarang
mendukung promise yang ditampilkan. Jika nilai eksekusi skrip yang dihasilkan adalah promise, Chrome akan menunggu promise selesai dan menampilkan nilai yang dihasilkan.
Chrome 90: Hasil chrome.scripting.executeScript() mencakup frameId
Hasil yang ditampilkan dari
chrome.scripting.executeScript()
kini menyertakan frameId.
Properti frameId
menunjukkan frame asal hasil, yang memungkinkan ekstensi dengan mudah
mengaitkan hasil dengan masing-masing frame saat memasukkan beberapa frame.
Chrome 89: API baru untuk mengelola grup tab
chrome.tabGroups
API baru dan kemampuan baru di
chrome.tabs
memungkinkan ekstensi membaca dan memanipulasi grup tab.
Memerlukan Manifes V3.
Chrome 89: izin yang dapat disesuaikan untuk resource yang dapat diakses dari web
Definisi Resource yang dapat diakses web di Manifes V3 telah diubah untuk memungkinkan ekstensi membatasi akses resource berdasarkan asal pemohon atau ID ekstensi.
Postingan blog: Pengonversi Manifes Ekstensi
Tim Ekstensi Chrome memiliki "Extension Manifest Converter" open source, yang merupakan alat Python yang mengotomatiskan beberapa aspek mekanis dalam mengonversi ekstensi ke Manifes V3. Lihat postingan blog pengumuman dan dapatkan dari GitHub.
Chrome 88: Ketersediaan umum Manifes V3
Manifes V3 adalah update besar untuk platform ekstensi; lihat Ringkasan Manifes V3 untuk ringkasan fitur baru dan yang diubah. Untuk saat ini, ekstensi dapat terus menggunakan Manifes V2, tetapi hal ini akan dihentikan dalam waktu dekat. Sebaiknya gunakan Manifes V3 untuk semua ekstensi baru, dan mulai migrasikan ekstensi yang ada ke Manifes V3 sesegera mungkin.