В настоящее время я создаю расширение для браузера с create-react-app
в качестве основы, пытаясь использовать getBackgroundPage () вместо API обмена сообщениями для связи между фоновыми сценариями (я определил 3) и новой вкладкой, но это похоже, что вызов browser.runtime.getBackgroundPage () на странице новой вкладки возвращает объект Window без каких-либо моих функций или переменных из фоновых скриптов, прикрепленных как свойства Window.
Ниже приведено сообщение об ошибке «переменная не определена», а «page.foo () не является функцией».
// background_3.js
var test = [];
// Some stuff so webpack doesn't get rid of the unused variable.
for (let i = 0; i < 10; ++i) {
test.push(i);
}
function foo() {
console.log("foo");
}
// New Tab React page
import browser from "webextension-polyfill";
browser.runtime.getBackgroundPage()
.then(page => {
console.log(page.test);
page.foo();
});
Что-то я не так делаю? Должен ли я просто использовать API сообщений вместо этого?