Как грамотно перехватить ответ запроса на странице в расширении?

Есть ли возможность грамотно перехватить ответ с сервера при создании своего расширения? Пока делаю chrome.webRequest.onCompleted и повторно обращаюсь по перехваченному URL, но есть ли более грамотные решения? И этот подход обречен на провал, если это будет неидемпотентный метод ?

Вот сам код:

chrome.webRequest.onCompleted.addListener(
  async (details) => {
    const URL = details.url;
 
    if (URL.includes(CARD_URL) && !fetchExecuted) {
      try {
        const response = await fetch(details.url);
        const text = await response.text();
        const data = JSON.parse(text);
        console.log(data);
      } catch (error) {
        console.error("Ошибка при получении или обработке данных:", error);
      }

      fetchExecuted = true;
    }
  },
  { urls: [CARD_URLS, BASKET_URLS] }
);

Если есть замечания по уже написанному коду, я готов к критике. Так же буду рад любому совету.


Ответы (0 шт):