Получение tabId -1 в onBeforeRequest в расширении Chrome - PullRequest
0 голосов
/ 05 апреля 2019

В моем расширении Chrome я слушаю onBeforeRequest, и есть загадка с одним доменом: https://www.vinyl -digital.com /

Проблема: tabId === -1 вместодействительный идентификатор вкладки в слушателе.Также появляется type === xmlhttprequest, хотя это определенно не XHR-запрос:

chrome.webRequest.onBeforeRequest.addListener()

frameId: -1
initiator: "https://www.vinyl-digital.com"
method: "GET"
parentFrameId: -1
requestId: "586533"
tabId: -1
timeStamp: 1554487869165.11
type: "xmlhttprequest"
url: "https://www.vinyl-digital.com/"

Я хотел бы узнать возможную причину этого -1 и как начать получать действительные идентификаторы.

Чтобы воспроизвести его, я создал новый профиль Chrome, добавил свое расширение, на новой вкладке, напечатанной в URL, нажмите Enter.В первый и единственный раз tabId является действительным (!) Номером.В остальное время я получаю -1 и "xmlhttprequest".

Chrome 73.0.3683.86 (Официальная сборка) (64-разрядная версия) Win 7

1 Ответ

1 голос
/ 06 апреля 2019

При первом посещении сайта установите сервисного работника (вы можете увидеть его в devtools -> вкладка «Приложение»), который обрабатывает последующие запросы и выдает XHR из своего контекста, который не является вкладкой, поэтому идентификатор равен -1 согласно документация webRequest :

tabId: идентификатор вкладки, на которой выполняется запрос.
Устанавливается в -1, если запрос несвязанные с вкладкой.

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