Yang baru di ekstensi Chrome

Buka halaman ini secara rutin untuk mempelajari perubahan pada ekstensi Chrome, dokumentasi ekstensi, atau kebijakan terkait, atau perubahan lainnya. Anda akan menemukan pemberitahuan lainnya yang diposting di Grup Google Ekstensi. Jadwal Chrome mencantumkan tanggal rilis stabil dan beta.

Chrome 126: Uji Coba Origin di ekstensi

Diposting pada

Chrome 126 memperkenalkan kolom manifest.json baru - trial_tokens, yang memungkinkan Anda ikut serta dalam Uji Coba Origin dan Uji Coba Penghentian Penggunaan di semua platform ekstensi. Baca panduan untuk informasi selengkapnya.

Postingan blog: Yang terjadi di Ekstensi Chrome - April 2024

Diposting pada

Kami telah memublikasikan edisi baru What's Happening in Chrome Extensions. Postingan tersebut 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, dan lebih banyak peluncuran serta update API.

Rollback versi di Dasbor Developer Chrome Web Store

Diposting pada

Roll back ekstensi 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

Diposting pada

documentScan API lanjutan kini tersedia di ChromeOS untuk menemukan dan mengambil gambar dari pemindai dokumen yang terpasang.

Chrome 124: Dukungan WebGPU di Service Worker

Diposting pada

Mulai versi Chrome 124, pekerja layanan mendukung WebGPU. Untuk memulai cepat, lihat contoh ekstensi WebGPU.

Chrome 123: Events API mendukung pemfilteran berdasarkan blok CIDR

Diposting pada

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. Sekarang saat ekstensi memanggil addListener(), aturan yang diteruskan berarti pengendali peristiwa hanya akan dipanggil saat bagian host URL adalah alamat IP dan terdapat di salah satu blok CIDR yang ditentukan dalam array.

Chrome Web Store: Pembaruan pada persyaratan panjang nama ekstensi

Diposting pada

Di Chrome Web Store, kini ada batas universal 75 karakter untuk kolom "name" ekstensi di manifes.json. Sebelumnya, batas untuk bahasa Inggris adalah 45 karakter, dan tidak ada batasan untuk kolom "name" di lokalitas lain.

Fitur 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 mengirimkan spam ke toko. Akibatnya, kami memperkenalkan batas universal baru, yaitu peningkatan menjadi 75 karakter. Batas ini mencakup hampir semua ekstensi yang tersedia di Play Store saat ini, jadi Anda mungkin tidak perlu melakukan tindakan apa pun akibat perubahan ini. Jika Anda mencoba mengupload ekstensi yang memiliki nama yang melebihi batas maksimum, upload akan diblokir oleh app store.

Postingan blog: perjalanan eyeo dalam menguji penangguhan pekerja layanan

Diposting pada

Dalam postingan oleh tim Extension Engine eyeo, kami membahas masalah dalam menguji pekerja layanan ekstensi. Di Manifes V2, ekstensi berada di halaman latar belakang, yang aktif selama siklus proses ekstensi. Manifest V3 menggunakan pekerja layanan, dan pekerja layanan, secara desain, menghemat resource dengan menonaktifkan resource saat tidak diperlukan. Hal ini menghadirkan tantangan pengujian tertentu. Postingan ini menjelaskan cara Eyeo mengatasi tantangan ini.

Chrome 123: Alarm kini berjalan saat perangkat tidur

Diposting pada

Alarm yang disetel menggunakan chrome.alarms API tidak lagi tertunda saat perangkat dalam mode tidur. Saat perangkat aktif, alarm akan aktif sekali, terlepas dari berapa banyak alarm yang terlewat. Misalnya, alarm disetel untuk berbunyi satu kali dalam satu jam dan perangkat yang aktif sedang tidur dari pukul 00.55 hingga 02.05, maka hanya alarm pukul 02.00 yang memicu peristiwa onAlarm. Fitur ini akan aktif sedekat mungkin dengan pukul 02.00, dan segera saat perangkat aktif jika dalam mode tidur.

Perubahan ini membuat Chrome selaras dengan perilaku yang telah disepakati di Grup Komunitas Ekstensi Web.

Postingan blog: Perubahan pada perilaku bfcache dengan port pesan ekstensi

Diposting pada

Back-forward cache (bfcache) adalah pengoptimalan browser yang memungkinkan navigasi mundur dan maju secara instan. Mulai Chrome 123, saat halaman dengan port ekstensi terbuka disimpan dalam bfcache, saluran pesan akan ditutup, yang berarti tidak ada pesan yang akan dikirim ke halaman tersebut. Oleh karena itu, 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: Menjanjikan dukungan pada API ekstensi asinkron

Diposting pada

Kita telah selesai mengimplementasikan 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, laporkan bug.

Panduan baru untuk komunikasi real time

Diposting pada

Kami baru saja memublikasikan panduan tentang opsi real time di 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, Web Push.

Panduan dan contoh baru: Menguji penghentian pekerja layanan

Diposting pada

Kami baru saja memublikasikan panduan tentang cara Menguji penghentian pekerja layanan dengan Puppeteer. Contoh pendamping menunjukkan hal ini dalam Puppeteer dan Selenium.

Contoh yang diperbarui untuk pesan native

Diposting pada

Kami baru saja memublikasikan contoh terbaru untuk pesan native. API ini memungkinkan ekstensi Anda untuk dimulai dan berkomunikasi dengan aplikasi lain. Terima kasih kepada kontributor GitHub Shubham-Rasal atas penyelesaian masalah ini.

Chrome 121: Properti lastAccessed baru di tab.Tab

Diposting pada

Properti baru bernama lastAccessed telah 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 memberikan peringatan

Diposting pada

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" ekstensi Manifes V3 akan menampilkan error. Keberadaan kunci ini sekarang memicu peringatan.

Hal ini dilakukan untuk memungkinkan penggunaan satu file manifes di ekstensi di beberapa browser, sesuai dengan proposal dalam kelompok komunitas.

Chrome 120: Perincian alarm minimum dikurangi menjadi 30 detik

Diposting pada

Mulai Chrome 120, ekstensi Manifes V3 dapat menggunakan chrome.alarms API dengan penundaan atau periode 30 detik, bukan memerlukan nilai 60 detik atau lebih.

Postingan blog: Melanjutkan transisi ke Manifes V3

Diposting pada

Linimasa dukungan Manifes V2 telah diupdate. Lihat postingan blog November 2023 untuk mengetahui detailnya.

Postingan blog: Peningkatan dukungan pemfilteran konten di Manifes V3

Diposting pada

Pelajari cara kami meningkatkan deklaratifNetRequest API di postingan blog baru kami.

Postingan blog: Yang baru di Chrome 120 untuk Ekstensi

Diposting pada

Chrome 120 Beta baru saja 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 utama karena menghapus dua item terakhir (userScript, pengendali file di ChromeOS) dari daftar celah platform penting.

PSA: Perubahan pada penanganan URL kebijakan privasi di Dasbor Developer

Diposting pada

Kebijakan privasi di Dasbor Developer kini ditambahkan di tingkat item. Dengan begitu, Anda dapat menyediakan kebijakan privasi yang berbeda untuk setiap item. Baca selengkapnya tentang perubahan ini di PSA kami.

Video: Chat dengan Matt Frisbie

Diposting pada

Kami baru saja memublikasikan video baru di channel YouTube Chrome for Developers dengan Pakar Google Developers dan penulis Matt Frisbie. Tonton di sini.

Panduan baru tentang ekstensi pengujian

Diposting pada

Kami baru saja memublikasikan panduan baru tentang cara menulis pengujian otomatis untuk ekstensi, termasuk cara menulis pengujian unit dan panduan umum serta tutorial tentang pengujian menyeluruh.

Postingan blog: Yang terjadi di Ekstensi Chrome - Oktober 2023

Diposting pada

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 baik untuk menutup semua kesenjangan platform MV3. Kami juga membagikan rilis API mendatang yang menarik seperti Read List API dan User Scripts API.

Peningkatan batas kumpulan aturan statis di Declarative Net Request API

Diposting pada

Setelah menerima masukan di Grup Komunitas Ekstensi Web, kami meningkatkan batas kumpulan aturan statis yang diaktifkan secara signifikan 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.

Peningkatan panduan seputar kode yang dihosting dari jarak jauh

Diposting pada

Persyaratan untuk Manifes V3 adalah ekstensi tidak boleh lagi menggunakan kode yang dihosting dari jarak jauh. Meskipun hal ini sudah menjadi bagian dari panduan migrasi kami sejak awal, kami merasa perlu meningkatkan kualitas panduan seputar masalah ini. Halaman tersebut kini memberikan lebih banyak informasi, menjelaskan apa yang masih mungkin dilakukan di Manifes V3 dan memberikan lebih banyak informasi tentang strategi untuk upgrade.

Ada tambahan terkait untuk 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

Diposting pada

Mulai Chrome 118, properti isUrlFilterCaseSensitive di chrome.declarativeNetRequest API telah diubah menjadi default menjadi false. Jika ingin mempertahankan perilaku lama, Anda dapat secara eksplisit menetapkan isUrlFilterCaseSensitive ke true dalam aturan deklaratifNetRequest.

Hal ini mengikuti diskusi di Grup Komunitas Ekstensi Web. Firefox dan Safari telah menerapkan perubahan serupa.

Dokumentasi tentang cookie dan API penyimpanan web

Diposting pada

Kami memublikasikan panduan baru tentang cara kerja cookie dan API penyimpanan web di ekstensi Chrome. Rilis ini mencakup detail tentang perubahan partisi cookie dan penyimpanan di Privacy Sandbox, yakni project berkelanjutan untuk menghentikan penggunaan cookie pihak ketiga melalui pembuatan serangkaian API platform web baru, dan detail tentang cara kerjanya dalam ekstensi.

Contoh ekstensi kini dapat ditelusuri

Diposting pada

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 sampel API atau fungsi (kasus penggunaan).

Halaman contoh baru ini dibuat oleh peserta Google Summer of Code, Xuezhou Dai, yang juga berkontribusi pada beberapa sampel baru. Anda dapat membaca pengalaman mereka pada musim panas lalu di postingan mereka di blog kami.

Seperti sebelumnya, contoh kode kami masih tersedia di GitHub untuk melakukan cloning atau forking.

Chrome 118: Perubahan pada file pembuka: URL skema

Diposting pada

Mulai Chrome 118, ekstensi harus mengaktifkan setelan "Izinkan akses ke URL file" dari halaman chrome://extensions untuk membuka URL skema file:// menggunakan API Tab atau Windows. 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 ekstensi Google Grup.

Chrome 117: Perlindungan URL yang diperluas di navigasi API ekstensi

Diposting pada

Navigasi sebelumnya yang dipicu dari panggilan API ekstensi untuk tabs.update(), tabs.create(), dan windows.create() memunculkan 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.

Peningkatan panduan untuk deklaratifNetRequest API

Diposting pada

chrome.declarativeNetRequest API memblokir atau mengubah permintaan jaringan dengan menentukan aturan deklaratif. Hal ini memungkinkan ekstensi mengubah permintaan jaringan tanpa mencegat dan melihat kontennya, sehingga memberikan lebih banyak privasi kepada pengguna. Selain itu, {i>frame<i} itu juga sulit digunakan. Dengan mempertimbangkan hal itu, kami telah menulis ulang panduan ini dengan cara yang kami anggap memberikan gambaran yang lebih jelas tentang cara menerapkan seperangkat aturan deklaratif. Baca bagian baru pada link di atas.

Menggunakan akun Google Analytics dengan Chrome Web Store

Diposting pada

Chrome Web Store menawarkan integrasi dengan Google Analytics, yang memungkinkan Anda melihat analisis untuk listingan Chrome Web Store selain tampilan yang ditawarkan di Dasbor Developer. Untuk informasi selengkapnya, baca Menggunakan akun Google Analytics dengan Chrome Web Store.

Chrome 115: DevTools menjalankan skrip konten secara default

Diposting pada

Skrip konten yang diinjeksikan kini berada di daftar yang diabaikan DevTools secara default. Hal ini tidak memengaruhi titik henti sementara, tetapi hal ini berarti skrip konten akan diganti selama proses debug dan pengecualian dari skrip ini akan diabaikan. Saat skrip konten dibuka di tab Sumber, banner akan memberi tahu Anda jika skrip ini aktif dan memberikan opsi untuk menghapus skrip konten 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

Diposting pada

Chrome 116 merupakan rilis besar untuk ekstensi. Anda sekarang dapat membuka panel samping secara terprogram. Metode baru memungkinkan Anda mengetahui apakah ada dokumen di balik layar yang aktif. Service worker mendapatkan peningkatan server. Ada cukup peningkatan pada 116 sehingga kami telah menulis postingan blog untuk membahasnya. Chrome 116 masih dalam versi beta mulai 19 Juli.

Postingan blog: Yang terjadi di Ekstensi Chrome

Diposting pada

Kami baru saja memublikasikan ringkasan tentang perubahan dan peningkatan pada ekstensi tahun ini. Postingan ini membahas fitur-fitur baru tahun ini, termasuk Side Panel API, peningkatan layanan worker, dan dokumen offscreen. Anda juga bisa melihat apa saja yang kami kerjakan untuk kuartal ini. Artikel ini mencantumkan banyak hal lainnya, disertai link ke semuanya.

Panduan dan contoh baru: Pelajari cara menggunakan Google Analytics 4 di ekstensi Chrome Anda

Diposting pada

Kami memublikasikan Google Analytics serta panduan dan contoh geolokasi yang baru:

Chrome 115: Menentukan beberapa alasan di chrome.offscreen.createDocument()

Diposting pada

Anda kini dapat menentukan beberapa enum reason saat memanggil chrome.offscreen.createDocument(). Gunakan ini jika dokumen di luar layar akan digunakan untuk berbagai tujuan. Browser menggunakan alasan yang diberikan untuk menentukan masa pakai dokumen di balik layar.

Alat baru: Alat Pengujian Update Ekstensi

Diposting pada

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 menampilkan alur update pengguna, termasuk tetap 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

Diposting pada

Memperkenalkan Side Panel API baru, platform pendamping yang memungkinkan pengguna mengakses alat bersama dengan 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 lebih banyak informasi tentang panel samping di postingan blog baru yang berjudul 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 tentang cara membuat ekstensi panel samping berkualitas tinggi.

Masukan Anda penting dalam membuat API ini. Bagikan pendapat dan permintaan fitur Anda dalam chromium-groups. Nantikan info terbaru seiring kami terus meningkatkan Side Panel API.

Sample Baru: WASM dalam ekstensi

Diposting pada

Ada dua contoh baru yang tersedia yang menunjukkan cara menggunakan WASM dalam ekstensi:

Terima kasih banyak kepada kontributor GitHub @daidr untuk contoh ini.

Panduan migrasi Manifes V3 yang diperbarui

Diposting pada

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

Diposting pada

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 terhadap perekaman yang melibatkan chrome.tabCapture API dan fungsi getDisplayMedia().

Chrome 114: Peningkatan kuota storage.local

Diposting pada

Kami telah meningkatkan kuota untuk properti storage.local menjadi sekitar 10 MB. Hal ini disetujui di Grup Komunitas Ekstensi Web. Tindakan ini menghadirkan storage.local sesuai dengan storage.session yang diubah di Chrome 112.

Tutorial dan bantuan pekerja layanan ekstensi baru

Diposting pada

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

Diposting pada

Untuk membantu publikasi di Chrome Web Store, kami menambahkan panduan baru dalam dua area. Panduan untuk fungsi minimum berpusat pada penyediaan manfaat bagi pengguna dan memperkaya pengalaman menjelajah mereka. Panduan untuk iklan afiliasi adalah tentang membuat pengguna mengetahui ekstensi yang menggunakan link atau kode afiliasi untuk monetisasi, dan memberi mereka beberapa kontrol dengan mewajibkan tindakan pengguna sebelum penyertaan.

Petunjuk baru untuk Pengonversi Manifes Ekstensi

Diposting pada

Kami telah menulis ulang README untuk Pengonversi Manifes Ekstensi agar lebih mudah melihat apa yang perlu Anda lakukan setelah menjalankan alat tersebut. Converter ini membantu memigrasikan ekstensi yang dibuat di Manifes V2 ke Manifes V3. README baru menjelaskan fungsi alat tersebut menggunakan kata-kata yang sangat cocok dengan yang ada di checklist panduan migrasi. Konverter tidak melakukan semuanya, tetapi menghilangkan banyak tugas yang tidak memerlukan penilaian manusia.

Chrome 113: Alasan baru untuk dokumen di balik layar

Diposting pada

Kami telah menambahkan dua jenis alasan baru ke Offscreen Documents API. Gunakan LOCAL_STORAGE untuk mengakses localStorage API platform web. Gunakan WORKER saat membuat pekerja web.

Google Analytics 4 kini ada di Dasbor Developer

Diposting pada

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 Anda 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. Untuk informasi selengkapnya, lihat postingan di Google Grup Ekstensi Chromium.

File Handling API hadir di ChromeOS

Diposting pada

File Handler API tersedia untuk eksperimen pada ChromeOS dalam Canary untuk versi 112 dan 113. Library ini memungkinkan ekstensi di ChromeOS membuka file dengan jenis MIME dan ekstensi file yang ditentukan. Untuk mengimplementasikan penanganan file, tambahkan sekumpulan aturan ke manifest.json. Fitur ini berfungsi sama seperti Progressive web app. Untuk informasi selengkapnya, baca artikel di bagian lain situs ini.

Untuk mengaktifkan 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 lalu pilih 'Diaktifkan' dari menu dropdown.

Kami berharap dapat meluncurkan fitur ini di Chrome 115 pada akhir Juni. Pantau ruang ini untuk mendapatkan info terbaru.

Contoh Baru: deklarasi dinamis dan injeksi terprogram

Diposting pada

Kami telah membuat contoh baru untuk chrome.scripting API. Contoh ini mendemonstrasikan deklarasi dinamis, tempat skrip konten didaftarkan saat runtime, dan injeksi terprogram, dengan skrip dieksekusi di tab yang sudah terbuka.

Contoh Baru: Kasus penggunaan Declarative Net Request

Diposting pada

Tiga sampel baru tersedia yang menunjukkan Declarative Net Request API. Masing-masing mendemonstrasikan penerapan dari satu kasus penggunaan. Yang pertama menunjukkan cara memblokir cookie. Dua URL lainnya menunjukkan pemblokiran dan pengalihan URL.

Chrome 112: Peningkatan kuota storage.session

Diposting pada

Mulai Chrome 112, kuota untuk properti storage.session telah ditingkatkan menjadi sekitar 10 MB. Hal ini disetujui di Grup Komunitas Ekstensi Web: https://github.com/w3c/webextensions/issues/350

Chrome 109: Dokumen di luar layar

Diposting pada

Dokumen di luar layar kini tersedia di ekstensi Manifes V3. 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

Diposting pada

Metode chrome.action.isEnabled() secara terprogram memeriksa apakah ekstensi telah diaktifkan untuk tab tertentu. Dengan demikian, Anda tidak akan dapat mempertahankan status aktif tab. Metode baru ini menggunakan ID tab dan referensi ke callback serta menampilkan boolean. Ada 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 Menetapkan warna badge.)

Chrome 110: Perubahan pada waktu tunggu tidak ada aktivitas pekerja layanan

Diposting pada

Sebelumnya, pekerja layanan ekstensi sering kali dimatikan pada waktu lima menit. Kami telah mengubah perilaku ini agar lebih mirip dengan masa aktif pekerja layanan di web. Pekerja layanan ekstensi akan dimatikan setelah tidak aktif tiga puluh detik atau jika satu aktivitas membutuhkan waktu lebih dari 5 menit untuk diproses. Untuk informasi selengkapnya, lihat Masa aktif pekerja layanan ekstensi yang lebih lama.

Postingan: Menjeda penghentian Manifes V2

Diposting pada

Linimasa penghentian penggunaan Manifes V2 sedang dalam peninjauan dan eksperimen yang dijadwalkan untuk awal tahun 2023 ditunda. Untuk informasi selengkapnya, baca update di Google Grup ekstensi chromium.

Chrome 110: Menetapkan warna badge

Diposting pada

Namespace chrome.action memiliki dua metode baru untuk memberi Anda kontrol yang lebih besar atas badge ekstensi tampilan. Metode setBadgeTextColor() dan getBadgeTextColor() memungkinkan ekstensi mengubah dan membuat kueri warna teks badge ikon toolbar-nya. Saat digunakan dengan setBadgeBackgroundColor dan getBadgeBackgroundColor, metode baru ini memungkinkan Anda menerapkan konsistensi desain dan merek.

Postingan blog: Detail selengkapnya tentang transisi ke Manifes V3

Diposting pada

Kami telah mengklarifikasi linimasa penghentian penggunaan Manifes V2. Linimasa dukungan Manifes V2 juga telah diupdate untuk mencerminkan informasi ini.

Update Dokumen: Masalah umum saat bermigrasi ke Manifes V3

Diposting pada

Kami telah menyusun daftar fitur utama yang saat ini sedang dalam pengembangan dan menemukan bug. Tujuan kami dengan halaman ini adalah membantu developer lebih memahami kondisi platform saat ini dan fitur apa yang dapat ditargetkan saat developer bersiap di masa mendatang.

Chrome Web Store: upload gambar "kartu promo besar" dihapus

Diposting pada

Chrome Web Store telah menghapus UI upload "kartu promo besar" dari tab Listingan Play Store item di 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:// mengakses resource yang dapat diakses di web

Diposting pada

Origin buram seperti iframe dalam sandbox dan impor dinamis juga harus dapat mengakses resource yang dapat diakses web, menurut crbug.com/1219825#c11.

Chrome 106: Memperbaiki bug yang memungkinkan argumen akhir yang salah pada beberapa fungsi API asinkron

Diposting pada

Sebelumnya, Manifes V3 yang memanggil API asinkron dapat memberikan argumen final yang tidak valid dan Chrome tidak akan mengalami error. Dengan perbaikan ini, Chrome kini akan melakukan error dengan benar dan melaporkan bahwa tidak ada tanda tangan yang cocok. Developer dianjurkan untuk memeriksa ekstensi mereka di Canary untuk mengetahui error apa pun jika mereka tidak sengaja menggunakan tanda tangan yang salah untuk panggilan API yang akan rusak karena perbaikan bug ini.

Postingan blog: Peningkatan analisis Chrome Web Store

Diposting pada

Chrome Web Store memiliki pengalaman analisis item yang telah diperbarui untuk Dasbor Developer Chrome Web Store. Dasbor baru lebih mudah dipahami dengan sekilas dan menggabungkan informasi yang paling berguna sejak awal. Baca postingan blog untuk mengetahui informasi selengkapnya.

Chrome 105: menjanjikan untuk Identity API

Diposting pada

Fungsi pada Identity API kini mendukung panggilan berbasis promise. Hal ini disertai dengan sedikit perubahan pada platform identity.getAuthToken(), dengan nilai asinkron yang ditetapkan ke panggilan berbasis promise akan memiliki "token" dan "grantedScopes" sebagai parameter pada satu objek (bukan versi callback yang menerimanya sebagai argumen terpisah ke callback).

Chrome 104: API favicon baru untuk Manifes V3

Diposting pada

Ekstensi Manifes V3 kini dapat mengakses favicon menggunakan pola URL baru: chrome-extension://<id>/_favicon/, dengan adalah ID ekstensi Anda. Library ini menggantikan chrome://favicons API platform Manifes V2. Lihat dokumen Favicon API untuk informasi selengkapnya.

Pembaruan Dokumen: Pengungkapan pedagang/non-pedagang developer

Diposting pada

Menambahkan identifikasi developer pedagang/non-pedagang yang memberi tahu developer untuk secara akurat mendeklarasikan sendiri status pedagang/non-pedagang.

Chrome 103: Wasm di Manifes V3 memerlukan wasm-unsafe-eval

Diposting pada

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.

Chrome 103: Perubahan pintasan MV3 akan langsung diterapkan

Diposting pada

Saat mengubah pintasan keyboard ekstensi Manifes V3 di chrome://extensions/shortcuts, update kini akan langsung diterapkan. Sebelumnya, ekstensi harus dimuat ulang sebelum perubahan diterapkan.

Chrome 102: Skrip konten dinamis di dunia utama

Diposting pada

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"

Diposting pada

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, sama seperti ekstensi Manifes V2 yang dapat menggunakan kunci optional_permissions.

Chrome 102: properti injectionSegera di skriping.executeScript()

Diposting pada

chrome.scripting.executeScript() sekarang menerima properti injectImmediately opsional pada argumen injection. Jika ada dan disetel ke benar (true), skrip akan dimasukkan ke target sesegera mungkin, bukan menunggu document_idle. Perlu diperhatikan bahwa hal ini tidak menjamin skrip akan dimasukkan sebelum halaman dimuat karena halaman terus dimuat saat panggilan API dilakukan.

Chrome 102: Dukungan Omnibox API di Manifes V3

Diposting pada

Omnibox API sekarang dapat digunakan di 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 Manifes V3 CSP

Diposting pada

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

Diposting pada

Ekstensi Manifes V3 kini dapat digunakan di penyimpanan memori storage.session .

Update Dokumen: Penemuan item Chrome Webstore

Diposting pada

Penemuan di Chrome Web Store memberikan ringkasan tentang cara pengguna menemukan item di Chrome Web Store dan cara editor kami memilih item untuk ditampilkan.

Chrome 101: Peningkatan kondisi domain deklaratifNetRequest

Diposting pada

Kondisi aturan declarativeNetRequest telah diperbarui agar ekstensi dapat 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 scripting.executeScript() pada tab yang baru dibuat

Memperbaiki masalah yang sudah lama terjadi saat pemanggilan scripting.executeScript() pada tab atau jendela yang baru dibuat dapat gagal.

Chrome 100: port pesan native membuat pekerja layanan tetap aktif

Diposting pada

Menghubungkan ke host pesan native menggunakan chrome.runtime.connectNative() dalam pekerja layanan ekstensi harus membuat pekerja layanan tetap aktif selama port terbuka.

Chrome 100: omnibox.setDefaultSuggestion() mendukung promise dan callback

Diposting pada

Metode omnibox.setDefaultSuggestion() kini menampilkan promise atau menerima callback untuk memungkinkan developer menentukan kapan saran telah ditetapkan dengan benar.

Chrome 100: Dukungan i18n.getMessage() di pekerja layanan ekstensi

Diposting pada

chrome.i18n.getMessage() API kini didukung dalam konteks pekerja layanan ekstensi.

Chrome 99: match_origin_as_fallback di Canary

Diposting pada

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 detailnya.

Chrome 99: dukungan pekerja layanan ekstensi untuk file: skema di Canary

Diposting pada

Ekstensi Manifes V2 dan Manifes V3 berbasis pekerja layanan kini dapat menggunakan Fetch API untuk meminta URL skema file:. Akses ke URL skema file: masih mewajibkan pengguna mengaktifkan 'Izinkan akses ke URL File' untuk ekstensi di halaman chrome://extensions.

Chrome 99: menjanjikan dukungan untuk API pesan di Canary

Diposting pada

Dukungan Promise telah ditambahkan ke tabs.sendMessage, runtime.sendMessage, dan runtime.sendNativeMessage untuk ekstensi yang di-build untuk Manifes V3.

Pembaruan dokumen: Dokumentasi ulasan Chrome Web Store

Diposting pada

Menambahkan halaman referensi baru yang memberikan ringkasan tentang proses peninjauan Chrome Web Store dan menjelaskan cara penegakan kebijakan program developer ditangani.

Chrome 98: scripting.executeScript() dan scripting.insertCSS() menerima beberapa file

Diposting pada

Metode executeScript() dan insertCSS() Scripting API kini menerima beberapa file. Sebelumnya, metode ini memerlukan array dengan satu entri file.

Pembaruan dokumen: tinjau pembaruan pemecahan masalah pelanggaran

Diposting pada

Halaman Pemecahan masalah pelanggaran Chrome Web Store telah diupdate untuk memberikan panduan yang lebih mendetail kepada developer terkait alasan umum penolakan.

Chrome 96: memperluas dukungan promise ke 27 API lainnya

Diposting pada

Rilis ini berisi lebih banyak update yang menjanjikan dibandingkan rilis sebelumnya. Update mencakup API ekstensi umum dan khusus ChromeOS. Luaskan bagian berikut untuk mengetahui detailnya.

API Ekstensi

Sejumlah API kini mendukung promise di Manifes V3.

Selain itu, API yang menggunakan prototipe ChromeSetting kini juga mendukung promise. API berikut terpengaruh oleh perubahan ini.

API ChromeOS

Chrome 96: skrip konten dinamis

Diposting pada

chrome.scripting API kini mendukung pendaftaran, pembaruan, pembatalan pendaftaran, dan mendapatkan daftar skrip konten saat runtime. Sebelumnya, skrip konten hanya dapat dideklarasikan secara statis dalam manifes.json ekstensi atau dimasukkan secara terprogram saat runtime dengan chrome.scripting.executeScript().

Update Dokumen: Linimasa dukungan Manifes V2

Diposting pada

Linimasa transisi Manifes V2 ke V3 diumumkan dalam postingan blog ini dan halaman linimasa yang lebih mendetail dipublikasikan.

Chrome 96: izin deklaratifNetRequestWithHostAccess

Diposting pada

Izin declarativeNetRequestWithHostAccess baru memungkinkan ekstensi menggunakan chrome.declarativeNetRequest API di situs yang izin host-nya dimiliki ekstensi. Tindakan ini juga memungkinkan ekstensi Manifes V2 yang ada yang menggunakan webRequest, webRequestBlocking, dan izin host khusus situs untuk bermigrasi ke chrome.declarativeNetRequest API tanpa mengharuskan pengguna untuk menyetujui izin baru.

Chrome 95: memasukkan skrip langsung ke halaman

Diposting pada

Metode executeScript() chrome.scripting API kini dapat memasukkan skrip secara langsung ke dunia utama halaman. Sebelumnya, ekstensi hanya dapat melakukan injeksi langsung ke dunia ekstensi yang terisolasi. Untuk mengetahui informasi selengkapnya tentang dunia yang terisolasi, lihat dokumentasi tentang skrip konten.

Chrome 95: menjanjikan dukungan untuk Storage API

Diposting pada

Metode di chrome.storage API versi Manifes V3 sekarang menampilkan promise.

Pembaruan kebijakan: penerapan verifikasi dua langkah

Diposting pada

Postingan blog pembaruan kebijakan yang dipublikasikan pada 29 Juni 2021 telah diperbarui untuk memperbaiki linimasa deployment verifikasi dua langkah.

Chrome 94: perubahan kumpulan aturan statis permintaan bersih deklaratif

Diposting pada

chrome.declarativeNetRequest kini mendukung penentuan hingga 50 kumpulan aturan statis (MAX_NUMBER_OF_STATIC_RULESETS) dan pengaktifan hingga 10 kumpulan aturan (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) sekaligus.

Chrome 93: dukungan isolasi lintas origin

Diposting pada

Ekstensi Manifes V2 dan Manifes V3 kini dapat ikut serta dalam isolasi lintas origin. Fitur ini membatasi resource lintas origin yang dapat memuat halaman ekstensi dan memungkinkan penggunaan fitur platform web tingkat rendah seperti SharedArrayBuffer. Anda akan diwajibkan untuk ikut serta mulai Chrome 95.

Pembaruan kebijakan: kebijakan program developer diperbarui

Diposting pada

Kebijakan Program Developer Chrome Web Store telah diperbarui dengan klarifikasi tentang kebijakan penginstalan yang menipu, spam, dan konten berulang. Update ini juga mencakup 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

Diposting pada

Ekstensi Chrome memiliki chrome.browserAction dan chrome.pageActions API selama bertahun-tahun, tetapi Manifes V3 menggantikan keduanya dengan chrome.actions API generik. Postingan ini membahas histori API ini dan apa saja yang telah berubah di Manifes V3. Baca postingan.

Postingan blog: memperkenalkan chrome.scripting

Diposting pada

chrome.scripting API adalah Manifest V3 API baru yang berfokus pada pembuatan skrip. Dalam postingan ini, kami akan menggali motivasi untuk perubahan ini dan mempelajari lebih lanjut kemampuan barunya. Baca postingan.

Chrome 92: dukungan pekerja layanan modul

Diposting pada

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 lainnya.

Chrome 91: chrome.action.getUserSettings()

Diposting pada

Metode chrome.action.getUserSettings() baru memungkinkan ekstensi menentukan apakah pengguna telah menyematkan ekstensi ke toolbar utama.

Chrome 90: chrome.scripting.removeCSS()

Diposting pada

Metode chrome.scripting.removeCSS() baru memungkinkan ekstensi menghapus CSS yang sebelumnya disisipkan melalui chrome.scripting.insertCSS(). Ini menggantikan chrome.tabs.removeCSS().

Chrome 90: menampilkan promise dari scripting.executeScript()

Diposting pada

chrome.scripting.executeScript() kini mendukung promise yang ditampilkan. Jika nilai eksekusi skrip yang dihasilkan adalah sebuah promise, Chrome akan menunggu promise untuk diselesaikan dan menampilkan nilai yang dihasilkan.

Chrome 90: Hasil chrome.scripting.executeScript() menyertakan frameId

Diposting pada

Hasil yang ditampilkan dari chrome.scripting.executeScript() kini menyertakan frameId. Properti frameId menunjukkan frame tempat hasil berasal, sehingga ekstensi dapat dengan mudah mengaitkan hasil dengan setiap frame saat memasukkan beberapa frame.

Chrome 89: API baru untuk mengelola grup tab

Diposting pada

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 di web

Diposting pada

Definisi Resource yang dapat diakses web di Manifes V3 telah diubah untuk memungkinkan ekstensi membatasi akses resource berdasarkan asal atau ID ekstensi pemohon.

Postingan blog: Pengonversi Manifes Ekstensi

Diposting pada

Tim Ekstensi Chrome memiliki "Extension Manifest Converter" open source, yaitu alat Python yang mengotomatiskan beberapa aspek mekanis saat mengonversi ekstensi ke Manifes V3. Lihat postingan blog pengumuman dan dapatkan dari GitHub.

Chrome 88: Ketersediaan umum Manifes V3

Diposting pada

Manifes V3 adalah update besar pada platform ekstensi; lihat Ringkasan Manifes V3 untuk mengetahui ringkasan fitur baru dan yang diubah. Ekstensi dapat terus menggunakan Manifes V2 untuk saat ini, tetapi penggunaan ini akan dihentikan dalam waktu dekat. Sebaiknya Anda menggunakan Manifes V3 untuk ekstensi baru, dan mulai memigrasikan ekstensi yang ada ke Manifes V3 sesegera mungkin.