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。我无法从您的建议中推断出一种实用的方法-部分原因是示例代码中有更多的内容需要依赖,部分原因是我没有足够的实践。你能看一下附件吗?提出一个不那么神秘的建议?我已经尝试了一对一你的代码,但只得到了一堆错误。