@GaserV

Почему не срабатывается колбэк в chrome webRequest?

Что хочу сделать: получить респонс с каждого исходящего запроса. Проблема в том, что ничего не логает. Почему - не понимаю...

chrome.webRequest.onCompleted.addListener(
    function(details) {
      console.log(details);
    },
    {urls: ["*://*/*"]}
  );


{
    "name": "Title",
    "description": "Title",
    "version": "1.0",
    "manifest_version": 3,
    "permissions": [
        "webRequest"
    ],
    "host_permissions": ["*://*/*"],
    "action": {
        "default_popup": "pp.html"
    }
}
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bodis111
В вашем коде проблема заключается в том, что вы используете manifest_version: 3, что означает, что вы используете новую структуру манифеста для расширений Chrome. С manifest_version: 3 некоторые API, включая chrome.webRequest, имеют ограниченные возможности и требуют обязательного объявления host_permissions в манифесте.

В вашем случае host_permissions объявлен корректно, но также вам потребуется добавить permissions в ваш манифест для явного указания необходимых разрешений. В вашем случае разрешение webRequest должно быть явно указано в permissions.

Пример исправленного манифеста:

{
"name": "Nazva",
"description": "Opisanie",
"version": "1.0",
"manifest_version": 3,
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*/*"
],
"host_permissions": ["*://*/*"],
"action": {
"default_popup": "pp.html"
}
}

Добавив "webRequest" и "webRequestBlocking" в массив permissions, вы уведомляете браузер о том, что ваше расширение использует эти API, что позволит вашему коду работать корректно. После внесения этих изменений ваш колбэк должен срабатывать правильно и логировать детали запросов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы