Przekonwertuj plik manifestu V2 na plik manifestu V3
Plik manifest.json
wymaga nieco innego formatu w przypadku platformy Manifest V3 niż w przypadku platformy Manifest V2. Na tej stronie opisujemy zmiany, które mają wpływ tylko na plik manifest.json
. Jednak wiele zmian w skryptach i stronach wymaga też wprowadzenia zmian w pliku manifestu. Te zmiany obejmują zadania migracji, które ich wymagają.
Zmień numer wersji pliku manifestu
Zmień wartość w polu "manifest_version"
z 2 na 3.
{ ... "manifest_version": 2 ... }
{ ... "manifest_version": 3 ... }
Aktualizowanie uprawnień hosta
Uprawnienia hosta w pliku manifestu w wersji 3 to osobne pole – nie określa się ich w "permissions"
ani w "optional_permissions"
.
Skrypty treści pozostają poniżej "content_scripts.matches"
. Więcej informacji o "content_scripts.matches"
znajdziesz w artykule Wstawianie za pomocą deklaracji statycznych.
{ ... "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": [ "*://*/*", ] ... }
Zaktualizuj zasoby dostępne w internecie
Zasoby dostępne w internecie to pliki wewnątrz rozszerzenia, do których dostęp mają strony internetowe lub inne rozszerzenia. W ramach implementacji w pliku manifestu w wersji 2 pole "web_accessible_resources"
umożliwiało wykrywanie rozszerzeń przez strony internetowe i osoby przeprowadzające atak, jeśli ujawniały zasoby. Stwarzało to możliwości użycia odcisków cyfrowych i niezamierzonego dostępu do zasobów.
Interfejs Manifest V3 ogranicza ekspozycję, ograniczając dostęp do zasobów w Twoim rozszerzeniu przez witryny i rozszerzenia. Zamiast podawać listę plików, udostępniasz teraz tablicę obiektów, z których każdy mapuje zbiór zasobów na zbiór adresów URL lub identyfikatorów rozszerzeń.
Poniżej znajduje się porównanie zasobów dostępnych w internecie w platformach Manifest V2 i Manifest V3. W pliku manifestu w wersji 2 określone zasoby były domyślnie dostępne dla wszystkich witryn internetowych. W poniższym kodzie platformy Manifest V3 te zasoby są dostępne tylko dla platformy https://example.com
, podczas gdy tylko niektóre obrazy są dostępne dla wszystkich stron internetowych.
Więcej informacji znajdziesz w artykułach na temat zasobów dostępnych w internecie i wzorców dopasowania.
{ ... "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/*" ] } ], ... }