Расширение Chrome: отсутствующие экземпляры классов на фоновой странице - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь создать «сложное» расширение для Google Chrome, на самом деле расширение на самом деле является сборкой ( JSLoader ), а структура, используемая в расширении, работала несколько месяцев назад.Сейчас я хочу обновить его, но ни одно из моих всплывающих окон не отображается из-за странного поведения chrome.runtime.getBackgroundPage ().У меня есть несколько «модулей», объявленных в manifest.json следующим образом:

"background": {
        "scripts": [
            "dependencies/dep1.js",
            " ... ",
            "bg/module1.js",
            "bg/module2.js",
            " ... "
            "bg/background.js"
        ]
    },

Затем на своей фоновой странице я создаю экземпляр каждого из модулей следующим образом:

this.module1 = new Module1(this);
this.module2 = new Module2(this);

Где module1и module2 определяет функции (или классы старого стиля) Module1 и Module2 соответственно.Затем из моего всплывающего окна, конкретно из страницы действия и страницы параметров расширения, которое я делаю:

chrome.runtime.getBackgroundPage(page => {

    ...
    /* this fails and says that module1 is not defined */ 
    page.module1.callSomeFunctionOnModule1() 
    ...

})

Как уже говорилось выше, это работало несколько месяцев назад, и я не знаю, почему мойэкземпляры больше не определены, фактически ни одна из функций, определенных на фоновой странице, недоступна.Есть ли причина, по которой я больше не могу этого делать?Каким будет способ вызова функций на заднем плане со страницы действий и страницы параметров?

Я не знаю, что попробовать ... мои функции больше не определены на переднем плане .. Я попытался вызвать chrome.extension.getBackgroundPage вместо chrome.runtime.getBackgroundPage без удачи.

Вы можете найти полное расширение в https://github.com/szz-dvl/JSLoader/tree/chrome

Я ожидаю, что смогу получить доступ к моим фоновым функциям со своих страниц переднего плана (как страницы действий, так и страницы параметров).

Заранее спасибо!

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