Как перехватить запрос только изнутри расширения, используя webrequest api в расширении Chrome?

#javascript #google-chrome #google-chrome-extension

#javascript #google-chrome #google-chrome-extension

Вопрос:

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

Но в разрешенных URL-адресах, которые я сейчас использую <all-urls> , но я хочу перехватывать только запрос, который начинается изнутри всплывающего окна расширения

но у меня также есть Iframe внутри этого всплывающего окна, и я также хочу перехватывать эти запросы.

Есть ли способ проверить, был ли перехваченный запрос запущен во всплывающем окне расширения или в iframe внутри него?

Комментарии:

1. Добавьте пользовательский заголовок к вашему запросу со случайным значением, сохраните его в глобальной переменной и сравните его в прослушивателе WebRequest.

2. вы можете предположить, что у меня нет контроля над веб-сайтом iframe.. допустим, я загрузил Google внутри iframe и хочу перехватить эти запросы, инициированные домашней страницей Google.. Я не могу добавить к нему заголовок

3. Эти запросы будут иметь tabId -1 и ненулевые frameId , поэтому их легко идентифицировать.

4. developer.chrome.com/extensions/webRequest

5. Он будет видеть все запросы. Смысл здесь в том, чтобы прослушиватель работал только во время открытия всплывающего окна.