Javascript 如何将变量从后台转移到弹出窗口并访问它?

Javascript 如何将变量从后台转移到弹出窗口并访问它?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,在background.js中的Chrome扩展中,我有一个变量var a=xhr.responseURL 它可以工作,我通过console.log(a)获得它 现在我试着用 document.addEventListener('DOMContentLoaded', function () { var a = bg.a; console.log(a); if (a.indexOf("https://www.example.com") === 0) {...

background.js中的Chrome扩展中,我有一个变量
var a=xhr.responseURL

它可以工作,我通过
console.log(a)获得它

现在我试着用

        document.addEventListener('DOMContentLoaded', function () {
            var a = bg.a;
console.log(a);
if (a.indexOf("https://www.example.com") === 0) {...}
     }
但是如果我尝试使用console.log访问它,它不在那里,如果我尝试执行if,我会得到一个错误
a未定义

如何正确访问popup.js中的
a

ps1:在
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>";
document.addEventListener('DOMContentLoaded',函数(){
var bg=chrome.extension.getBackgroundPage();
var currentDomain=bg.currentDomain;
chrome.storage.sync.get('savedApi'({
萨维达皮
}) => {
var domen=chrome.extension.getview({
类型:“弹出窗口”
});
domen[0]。document.getElementById(“domen”).innerHTML=
"";

它们都能工作!这对我来说真的很奇怪。

你如何初始化
bg
?不确定,我是否理解正确,但我在我的问题中添加了更多细节。你可以在
var bg=chrome.extension.getBackgroundPage()
中初始化它,只有在manifest.json没有
持久性的情况下才可以:false
。现在向我们展示如何在后台初始化
a
。js
如何在后台初始化a。js
:这是一个非常正确的问题-出现了一个错误,谢谢!我已使用
var a=“”在文件顶部对其进行了初始化
但随后用
var a=xhr.responseURL;
声明-在我从声明中移动
var
后,它开始工作。