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; bunları "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, web sayfaları veya diğer uzantılar tarafından erişilebilen bir uzantının içinde bulunan 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. Önceden olduğu gibi dosya listesi sağlamak yerine, artık her biri bir kaynak grubunu bir dizi URL veya uzantı kimliği ile 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/*" ] } ], ... }