Напиши юзерскрипт вместо расширения.
Вот пример:
// ==UserScript==
// @name Toster Example
// @match https://qna.habr.com/*
// @match https://toster.ru/*
// @grant GM.xmlHttpRequest
// @connect https://example.com
// ==/UserScript==
!async function() {
console.log("userscript start");
const response = await new Promise((resolve, reject) => {
GM.xmlHttpRequest({
method: "get",
url: "https://example.com",
responseType: "text",
onload: resolve,
onerror: reject,
});
});
console.log("response:", response);
const {response: text} = response;
console.log("text:", text);
}();
Запускается на каждой странице Тостера (см
@match
), и успешно логирует в консоль содержание
https://example.com несмотря на CORS.