Manifest'i güncelle

Bir V2 manifestini V3 manifestine dönüştür

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ı ve sayfalarda yapılan değişikliklerin çoğu, manifest dosyasında da değişiklik yapılmasını gerektirir. Bu değişiklikler için gerekli olan taşıma görevlerinde söz konusu değişiklikler yer alır.

Manifest sürüm numarasını değiştirme

"manifest_version" alanındaki değeri 2'den 3'e değiştirin.

Manifest V2
{
  ...
  "manifest_version": 2
  ...
}
Manifest V3
{
  ...
  "manifest_version": 3
  ...
}

Ana makine izinlerini güncelle

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 edinmek için Statik bildirimler ekleme bölümüne bakın.

Manifest V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Manifest V3
{
  ...
  "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çindeki dosyalardır. Manifest V2'de uygulandığı gibi, "web_accessible_resources" alanı, uzantı kaynakları açığa çıkarmayı seçerse uzantıları web siteleri ve saldırganlar tarafından algılanabilir hale getirdi. Bu durum dijital parmak izi alma veya istenmeyen kaynak erişimi fırsatları yarattı.

Manifest V3, uzantınızdaki kaynaklara erişebilecek web sitelerini ve uzantıları kısıtlayarak görünürlüğü sınırlandırır. Önceden olduğu gibi bir dosya listesi sağlamak yerine artık her biri bir kaynak kümesini bir URL veya uzantı kimliği grubu ile eşleyen bir nesne dizisi sağlarsınız.

Aşağıdaki örnekte, Manifest V2 ile Manifest V3 arasında web'den erişilebilen kaynaklar karşılaştırılmaktadır. Manifest V2'de, belirtilen kaynaklara varsayılan olarak tüm web siteleri tarafından erişilebiliyordu. Aşağıda gösterilen Manifest V3 kodunda, bu kaynaklar yalnızca https://example.com tarafından, 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ı makalelere bakın.

Manifest V2
{
  ...
  "web_accessible_resources": [
    "images/*",
    "style/extension.css",
    "script/extension.js"
  ],
  ...
}
Manifest V3
{
  ...
    "web_accessible_resources": [
    {
      "resources": [
        "images/*"
      ],
      "matches": [
        "*://*/*"
      ]
    },
    {
      "resources": [
        "style/extension.css",
        "script/extension.js"
      ],
      "matches": [
        "https://example.com/*"
      ]
    }
  ],
  ...
}