Mengupdate manifes

Mengonversi manifes V2 ke manifes V3

File manifest.json memerlukan format yang sedikit berbeda untuk Manifes V3 dari untuk Manifes V2. Halaman ini menjelaskan perubahan yang hanya memengaruhi file manifest.json. Namun, banyak perubahan pada skrip dan halaman juga memerlukan perubahan pada manifes. Perubahan tersebut tercakup dalam tugas migrasi yang memerlukannya.

Mengubah nomor versi manifes

Ubah nilai kolom "manifest_version" dari 2 menjadi 3.

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

Memperbarui izin host

Izin host di Manifes V3 adalah kolom terpisah; Anda tidak menentukannya di "permissions" atau "optional_permissions".

Skrip konten tetap berada di bawah "content_scripts.matches". Lihat Menginjeksikan dengan deklarasi statis untuk mengetahui informasi tentang "content_scripts.matches".

Manifes V2
{
  ...
  "permissions": [
    "tabs",
    "bookmarks",
    "https://www.blogger.com/",
  ],
  "optional_permissions": [
    "unlimitedStorage",
    "*://*/*",
  ]
  ...
}
Manifes V3
{
  ...
  "permissions": [
    "tabs",
    "bookmarks"
  ],
  "optional_permissions": [
    "unlimitedStorage"
  ],
  "host_permissions": [
    "https://www.blogger.com/",
  ],
  "optional_host_permissions": [
    "*://*/*",
  ]
  ...
}

Memperbarui referensi yang dapat diakses dari web

Resource yang dapat diakses web adalah file di dalam ekstensi yang dapat diakses oleh halaman web atau ekstensi lainnya. Seperti yang diterapkan di Manifes V2, kolom "web_accessible_resources" membuat ekstensi yang dapat dideteksi oleh situs dan penyerang jika ekstensi memilih untuk mengekspos resource. Hal ini menciptakan peluang untuk pelacakan sidik jari atau akses resource yang tidak disengaja.

Manifes V3 membatasi eksposur dengan membatasi situs dan ekstensi mana yang dapat mengakses resource di ekstensi Anda. Daripada menyediakan daftar file seperti sebelumnya, Anda kini menyediakan array objek, yang masing-masing memetakan kumpulan resource ke kumpulan URL atau ID ekstensi.

Contoh di bawah membandingkan resource yang dapat diakses web antara Manifes V2 dan Manifes V3. Di Manifes V2, resource yang ditentukan dapat diakses oleh semua situs web secara default. Dalam kode Manifes V3 yang ditampilkan di bawah, resource ini hanya tersedia untuk https://example.com, sedangkan hanya gambar tertentu yang tersedia untuk semua situs.

Untuk mengetahui informasi selengkapnya, lihat Referensi yang dapat diakses di web dan Pola pencocokan.

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