В 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>";
и все они работают! Это действительно странно для меня.