Расширение Chrome: разрешение URL не работает - PullRequest
0 голосов
/ 01 февраля 2019

Мы используем Chrome Webrequest API для перехвата и изменения заголовков по запросу.Я работал нормально до Chrome 72, но он больше не работает.Но когда я заменяю разрешение на "<all_urls>", это работает.Кроме того, я попытался использовать другой домен, Google, как в этом примере: https://developer.chrome.com/extensions/webRequest, и это тоже не работает.

У вас есть идеи, почему это больше не работает?Мы будем использовать "<all_urls>" на данный момент, но это огромное разрешение, которое нам на самом деле не нужно.

manifest.json:

"permissions": [
 "webRequest",
 "webRequestBlocking",
 "*://*.merchantos.com/*"
 ]

background.js

  chrome.webRequest.onHeadersReceived.addListener(
    details => ({
      responseHeaders: filter(details.responseHeaders),
    }),
    { urls: ['*://*.merchantos.com/*'] },
    ['blocking', 'responseHeaders']
  )

РЕДАКТИРОВАТЬ:

Проблема решена .Для Chrome 72 теперь вам нужно добавить хост запроса в ваше разрешение, чтобы иметь возможность редактировать заголовки.

manifest.json:

"permissions": [
 "webRequest",
 "webRequestBlocking",
 "*://*.merchantos.com/*",
 "*://*.mywebsite.coom/*/,
 ]

1 Ответ

0 голосов
/ 26 февраля 2019

В Chrome 72 вам необходимо указать как целевой URL, который вы хотите перехватить, так и и URL-адрес веб-сайта, с которого выполняется запрос, в разрешениях.

Например: https://www.mywebsite.com/ делает запрос к https://abc.merchantos.com, который вы хотите перехватить.Таким образом:

  • mywebsite.com делает запрос
  • abc.merchantos.com - цель, которую вы хотите перехватить
  • У вас естьчтобы указать оба этих URL в вашем manifest.json:

    {
        ...
        "permissions": [
            "webRequest", 
            "webRequestBlocking",
            "*://*.mywebsite.com/*", 
            "*://*.merchantos.com/*"
        ],
        ...
    }
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...