Как перенести переменную из фона в всплывающее окно и получить к нему доступ? - PullRequest
0 голосов
/ 18 марта 2020

В Chrome расширении в background.js у меня есть переменная var a = xhr.responseURL;.

Это работает, я получаю это с console.log(a);.

Теперь я пытаюсь получить его в popup.js с помощью

        document.addEventListener('DOMContentLoaded', function () {
            var a = bg.a;
console.log(a);
if (a.indexOf("https://www.example.com") === 0) {...}
     }

, но если я пытаюсь получить к нему доступ через console.log, его там нет, и если я пытаюсь сделать iF, я получаю ошибку a is not defined.

Как мне правильно получить доступ к a во всплывающем окне. js?

PS 1 : в background.js у меня есть еще несколько переменных, которые являются частью URL, на который я отправляю XHR. Пример:

 var xhr = new XMLHttpRequest();
        var protocol = "https://";
        var middle = ".myservice.com/domain/"
        var end = "/data/";

        xhr.open("GET", protocol + savedApi + middle + currentDomain + end, true);

В popup.js все эти переменные перегружены и используются точно так, как я описал - другой пример:

document.addEventListener('DOMContentLoaded', function () {
    var bg = chrome.extension.getBackgroundPage();
    var currentDomain = bg.currentDomain;
    chrome.storage.sync.get('savedApi', ({
            savedApi
        }) => {
        var domen = chrome.extension.getViews({
            type: "popup"
        });
        domen[0].document.getElementById("domen").innerHTML =
            "<a class=link href=https://" + savedApi + ".myservice.com/" + currentDomain + " target=_blank>Domain</a>";

и все они работают! Это действительно странно для меня.

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