V2 manifestini V3 manifestine dönüştürme
manifest.json
dosyası, Manifest V3 için Manifest V2'den biraz farklı bir biçim gerektirir. Bu sayfada yalnızca manifest.json
dosyasını etkileyen değişiklikler açıklanmaktadır. Ancak komut dosyalarında ve sayfalarda yapılan değişikliklerin çoğu, manifest dosyasında da değişiklik yapılmasını gerektirir. Bu değişiklikler, bunları gerektiren taşıma görevleri kapsamındadır.
Manifest sürümü numarasını değiştirme
"manifest_version"
alanının değerini 2'den 3'e değiştirin.
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
Ana makine izinlerini güncelleme
Manifest V3'teki ana makine izinleri ayrı bir alandır. Bu izinleri "permissions"
veya "optional_permissions"
içinde belirtmezsiniz.
İçerik komut dosyaları "content_scripts.matches"
altında kalır. "content_scripts.matches"
hakkında bilgi için Statik beyanlarla ekleme başlıklı makaleyi inceleyin.
{ ... "permissions": [ "tabs", "bookmarks", "https://www.blogger.com/", ], "optional_permissions": [ "unlimitedStorage", "*://*/*", ] ... }
{ ... "permissions": [ "tabs", "bookmarks" ], "optional_permissions": [ "unlimitedStorage" ], "host_permissions": [ "https://www.blogger.com/", ], "optional_host_permissions": [ "*://*/*", ] ... }
Web'den erişilebilen kaynakları güncelleme
Web'den erişilebilen kaynaklar, bir uzantıdaki ve web sayfaları veya diğer uzantılar tarafından erişilebilen dosyalardır. Manifest V2'de uygulandığı şekliyle "web_accessible_resources"
alanı, uzantı kaynakları göstermeyi seçerse uzantıların web siteleri ve saldırganlar tarafından algılanabilir olmasını sağlar. Bu durum, parmak izi oluşturma veya istenmeyen kaynak erişimi fırsatları doğurdu.
Manifest V3, hangi web sitelerinin ve uzantıların uzantınızdaki kaynaklara erişebileceğini kısıtlayarak gösterimi sınırlar. Daha önce olduğu gibi bir dosya listesi sağlamak yerine, her biri bir grup kaynağı bir grup URL veya uzantı kimliğiyle eşleyen bir nesne dizisi sağlarsınız.
Aşağıdaki örnekte, Manifest V2 ve Manifest V3 arasındaki web'e erişilebilir kaynaklar karşılaştırılmaktadır. Manifest V2'de, belirtilen kaynaklara varsayılan olarak tüm web siteleri erişebiliyordu. Aşağıda gösterilen Manifest V3 kodunda bu kaynaklar yalnızca https://example.com
tarafından kullanılabilirken yalnızca belirli resimler tüm web siteleri tarafından kullanılabilir.
Daha fazla bilgi için Web'den erişilebilen kaynaklar ve Eşleşme kalıpları başlıklı makaleleri inceleyin.
{ ... "web_accessible_resources": [ "images/*", "style/extension.css", "script/extension.js" ], ... }
{ ... "web_accessible_resources": [ { "resources": [ "images/*" ], "matches": [ "*://*/*" ] }, { "resources": [ "style/extension.css", "script/extension.js" ], "matches": [ "https://example.com/*" ] } ], ... }