Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查变量';s popup.js中的内容-变量来自background.js_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 检查变量';s popup.js中的内容-变量来自background.js

Javascript 检查变量';s popup.js中的内容-变量来自background.js,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我在background.js中有一个变量 var currentHost = ""; chrome.tabs.onUpdated.addListener(function(tabid, changeInfo, tab){ chrome.tabs.query({'active' : true, 'currentWindow': true}, function(tabs){ let newUrl = new URL(tabs[0].url); current

我在
background.js中有一个变量

var currentHost = "";
chrome.tabs.onUpdated.addListener(function(tabid, changeInfo, tab){
    chrome.tabs.query({'active' : true, 'currentWindow': true}, function(tabs){
        let newUrl = new URL(tabs[0].url);
        currentHost = newUrl.host;
}
然后我用

document.addEventListener('DOMContentLoaded', function () {
   var bg = chrome.extension.getBackgroundPage();
        var currentHost = bg.currentHost;
...
}
现在我想检查
popup.js
中变量
currentHost
的内容,使用
console.log(currentHost)
(位于
)但是在所有情况下都会得到
未定义的

我做错了什么?如何检查这种变量

,


PS:通过简单地添加“后台”来显示权限,最终获得了它。

未更新的代码假定只有活动选项卡得到更新,但事实并非如此:所有选项卡都可以更新。根本不需要query(),只需使用
tab.url
,因为您已经有了该参数。不管怎么说,整个方法似乎并不有用,因为任何选项卡都可以在任何时候更新,包括更改其标题、favicon或静音状态等等。您可能可以删除所有这些内容,只需在弹出窗口中调用chrome.tabs.query。我无法从您的建议中推断出一种实用的方法-部分原因是示例代码中有更多的内容需要依赖,部分原因是我没有足够的实践。你能看一下附件吗?提出一个不那么神秘的建议?我已经尝试了一对一你的代码,但只得到了一堆错误。