Невозможно перехватить HTTP-запросы, инициированные вне браузера, например, с помощью окна «Выполнить» Windows. - PullRequest
0 голосов
/ 05 марта 2019

При разработке расширения, которое требует перехвата HTTP-запросов, мы столкнулись с проблемой, когда навигация была инициирована путем ввода адреса в поле «Выполнить».После отладки и регистрации было замечено, что прослушиватели событий не были подключены до того, как навигация фактически началась, хотя связанные объекты были настроены.Только после того, как окно открыто и навигация фактически началась, новые навигации могут быть перехвачены.

Чтобы увидеть это, присоедините прослушиватель событий к событию onBeforeRequest объекта webRequest расширения, закройте браузер и запустите новую навигациюиспользуя ссылку быстрого доступа или, например, введя адрес в поле «Выполнить».

Вот соответствующий код:

// hook up the listener
chrome.webRequest.onBeforeRequest.addListener(onBeforeRequestCallback, { types:['main_frame'],urls:['*://*/*']}, ['blocking']);

function onBeforeRequestCallback(requestDetails) {   
     console.log('onBeforeRequestCallback called for request url:'+requestDetails.url);
}

Частичный манифест json:

     "permissions": [
        "*://*/*",
        "tabs",
        "webRequest",
        "webRequestBlocking",
        "storage"
      ],

  "background": {
    "scripts": [      
      "background.js"
    ],
    "persistent": true
  },

1 Ответ

0 голосов
/ 05 марта 2019

Как уже упоминалось в комментариях, это ошибка .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...