Ekstensi, tema, dan aplikasi hanyalah paket resource, yang dikemas dengan
File manifest.json
yang menjelaskan isi paket. Format file ini adalah
secara umum stabil, tetapi terkadang perubahan yang dapat menyebabkan gangguan harus dilakukan untuk mengatasi masalah penting.
Developer harus menentukan versi spesifikasi manifes yang menjadi target paket mereka
menyetel kunci manifest_version
dalam manifesnya.
Versi saat ini
Developer saat ini harus menentukan 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
Manifes versi 1 tidak digunakan lagi di Chrome 18, dan dukungan akan dihentikan sesuai dengan mengikuti jadwal.
Jadwal dukungan Manifes versi 1
Agustus 2012
- Web Store akan memblokir pembuatan ekstensi manifes versi 1 baru.
- Web Store akan mengizinkan update untuk ekstensi manifes versi 1 yang sudah ada.
Maret 2013
- Web Store akan memblokir update ekstensi manifes versi 1 pada tanggal 4 Maret 2013.
April 2013
- Chrome 27 Beta akan berhenti mengemas ekstensi manifes versi 1 (atau memuatnya untuk pengembangan aplikasi).
Juni 2013
- Web Store akan menghapus ekstensi manifes versi 1 dari situs, hasil penelusuran, dan halaman kategori.
- Email pemberitahuan akan dikirim ke semua developer yang masih memiliki ekstensi manifes versi 1 yang ada di Play Store mengingatkan mereka bahwa ekstensi ini akan dibatalkan publikasinya dan memberikan petunjuk update.
September 2013
- Web Store akan membatalkan publikasi semua ekstensi manifes versi 1.
- Email pemberitahuan terakhir akan dikirim kepada developer dengan ekstensi manifes versi 1 yang masih ada di Web Simpan.
- Chrome akan terus memuat dan menjalankan ekstensi manifes versi 1 yang diinstal.
Januari 2014
- Chrome akan berhenti memuat atau menjalankan ekstensi manifes versi 1.
Perubahan antara versi 1 dan 2
- Kebijakan keamanan konten disetel ke
`script-src 'self'; object-src 'self';
secara default. Ini memiliki berbagai dampak terhadap developer, seperti dijelaskan secara mendetail dicontent_security_policy
dokumentasi tambahan. - Secara default, resource paket tidak lagi tersedia (sebagai
src
dari gambar, atau tagscript
). Jika Anda ingin situs web dapat memuat sumber daya yang terdapat dalam Anda harus secara eksplisit mengizinkannya melalui manifesweb_accessible_resources
. Hal ini sangat relevan untuk ekstensi yang membuat antarmuka di situs melalui skrip konten yang dimasukkan. - Properti
background_page
telah diganti dengan propertibackground
yang berisi baik propertiscripts
ataupage
. Detail tersedia di Halaman Peristiwa dokumentasi tambahan. Perubahan tindakan browser:
- Kunci
browser_actions
dalam manifes, danchrome.browserActions
API akan hilang. Gunakan tunggalbrowser_action
danchrome.browserAction
sebagai gantinya. - Properti
icons
daribrowser_action
telah dihapus. Gunakan propertidefault_icon
atau browserAction.setIcon sebagai gantinya. - Properti
name
daribrowser_action
telah dihapus. Gunakan propertidefault_title
atau browserAction.setTitle. - Properti
popup
daribrowser_action
telah dihapus. Gunakandefault_popup
properti atau browserAction.setPopup sebagai gantinya. - Properti
default_popup
daribrowser_action
tidak lagi dapat ditentukan sebagai objek. Ini harus berupa string.
- Kunci
Perubahan tindakan halaman:
- Kunci
page_actions
dalam manifes, danchrome.pageActions
API akan hilang. Gunakan tunggalpage_action
danchrome.pageAction
sebagai gantinya. - Properti
icons
daripage_action
telah dihapus. Gunakan propertidefault_icon
atau pageAction.setIcon sebagai gantinya. - Properti
name
daripage_action
telah dihapus. Gunakan propertidefault_title
atau pageAction.setTitle. - Properti
popup
daripage_action
telah dihapus. Gunakan propertidefault_popup
atau pageAction.setPopup sebagai gantinya. - Properti
default_popup
daripage_action
tidak lagi dapat ditentukan sebagai objek. Harus berupa string.
- Kunci
chrome.self
API telah dihapus. Sebagai gantinya, gunakanchrome.extension
.chrome.extension.getTabContentses
(!!!) danchrome.extension.getExtensionTabs
telah pergi. Gunakan extension.getViews sebagai gantinya.Port.tab
sudah hilang. Sebagai gantinya, gunakan runtime.Port.