Błąd rozszerzenia Chrome podczas tworzenia pliku manifest.json

0

Pytanie

Witam, próbuję stworzyć plik manifest.json z uprawnieniami chrome.cookies, który, jak myślę, jest api.

próbowałem pobrać ten kod

{
    "manifest_version" : 2,
    "name" : "coding train extension",
    "version" : "0.001",
    "host_permissions":[
        "*://*.google.com"
    ],
    "permissions":[
        "cookies"
    ],
    "content_scripts":  [
        {
            "matches": [
                "<all_urls>"
            ],
            "js": ["content.js"]
        }
    ]
}

Kod powodzeniem, ale pojawił się błąd

enter image description here

Co robię nie tak?

1
0

Rozszerzenie Chrome musi zawierać dokładnie jeden plik manifest.json, w którym konfigurujesz ustawienia, takie jak nazwa, opis, uprawnienia itp. Szczegółowe informacje znajdują się w pełnej instrukcji манифесту dany, ale opowiem wam o tym, co podałeś, aby rozwiązać problem.

манифест_версия

Twórcy rozszerzeń Chrome obecnie (październik 2021 roku) odbywają się okres przejściowy, przechodząc od wersji manifestu 2 do wersji 3. Zmiana ta wprowadza zmiany w sposobie tworzenia manifestu (między innymi), więc podczas czytania dokumentów Chrome lub pytań tutaj, na SO, należy zwrócić uwagę na to, jaką wersję manifestu on się odwołuje.

"manifest_version" : 2

Powyższy zapis oznacza "użyj (starszą) wersję manifestu 2", ale mocno podejrzewam, że potrzebna jest nowa wersja 3:

"manifest_version" : 3

host_permission

(Ten klucz ma zastosowanie tylko do wersji manifestu 3) oznacza To, że chcesz wykonywać operacje dany w domenie google.com i żądają na to zgodę. Wartość tablicy "*://*.google.com" nazywa szablonu zgodności, i w dokumentach czytamy, że "ścieżka musi być obecny w rozdzielczości hosta".

"host_permissions":[ "*://*.google.com" ]

więc zmień go, aby włączyć ścieżkę:

"host_permissions":[ "*://*.google.com/*" ]

nawet pomimo faktu, że w chrome.cookies to jest napisane inaczej (błędy zdarzają się...!). Po wprowadzeniu tych zmian rozszerzenie powinno uruchomić debugowania bez błędów.

Mam kilka dodatkowych uwag:

  1. "version" : "0.001" numeracja jest nietypowe, a zobaczysz, że to się zmieni na 0,1 po pobraniu rozszerzenia. Proponuję go zmienić, aby także określić 0.1 w manifeście.

  2. Z manifestu widać, że masz zamiar pracować z plikami cookie i planują zrobić to w scenariuszu zawartości. To się nie uda. Dostęp do API plików cookie musi odbywać się w kontekście rozszerzenia w tle lub w wyskakującym oknie. Ponownie, to trzeba ustawić w manifeście, i dodałem przykład poniżej.

W końcu dochodzisz do tego:

{
  "manifest_version" : 3,
  "name" : "coding train extension",
  "version" : "0.1",
  "host_permissions":[
    "*://*.google.com/*"
  ],
  "permissions":[
    "cookies"
  ],
  "background": {
    "service_worker": "background.js"
  }
}

Oto przykład rozszerzenie plików cookie, opracowanego przez zespół Chrome, która może ci się przydać.

2021-10-22 23:06:00

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................