Ошибка расширения Chrome при создании файла manifest.json

0

Вопрос

Привет, я пытаюсь создать файл manifest.json с разрешениями chrome.cookies, который, как я думаю, является api.

я попытался загрузить этот код

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

Код успешно загрузился, но появилась ошибка

enter image description here

Что я делаю не так?

1
0

Расширение Chrome должно содержать ровно один файл manifest.json, в котором вы настраиваете такие параметры, как имя, описание, разрешения и т.д. Подробные сведения см. в полном руководстве по манифесту расширения, но я расскажу вам о том, что вы предоставили, чтобы решить проблемы.

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

Разработчики расширений Chrome в настоящее время (октябрь 2021 года) проходят переходный период, переходя от версии манифеста 2 к версии 3. Этот переход вносит изменения в способ создания манифеста (среди прочего), поэтому при чтении документов Chrome или вопросов здесь, на SO, обратите внимание, на какую версию манифеста он ссылается.

"manifest_version" : 2

Приведенная выше запись означает "используйте (старую) версию манифеста 2", но я сильно подозреваю, что вам нужна новая версия 3:

"manifest_version" : 3

host_permission

(Этот ключ применяется только к версии манифеста 3) Это означает, что вы хотите выполнять операции расширения в домене google.com и запрашивают на это разрешение. Значение массива "*://*.google.com" называется шаблоном соответствия, и в документах говорится, что "путь должен присутствовать в разрешении хоста".

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

поэтому измените его, чтобы включить путь:

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

даже несмотря на то, что в chrome.cookies это написано по-другому (ошибки случаются...!). После внесения этих изменений расширение должно загрузиться для отладки без ошибок.

У меня есть несколько дополнительных замечаний:

  1. "version" : "0.001" нумерация необычна, и вы увидите, что она изменится на 0,1 после загрузки расширения. Я предлагаю вам изменить его, чтобы также указать 0.1 в манифесте.

  2. Из манифеста видно, что вы намерены работать с файлами cookie и планируете сделать это в сценарии содержимого. Это не сработает. Доступ к API файлов cookie должен осуществляться в контексте расширения в фоновом режиме или во всплывающем окне. Опять же, это нужно настроить в манифесте, и я добавил пример ниже.

Наконец-то дойдя до этого:

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

Вот пример расширения файлов cookie, разработанного командой Chrome, которое может вам пригодиться.

2021-10-22 23:06:00

На других языках

Эта страница на других языках

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