我从来没有使用过 Chrome api ......但是看起来你的问题是基本的 JavaScript。
您需要在回调中设置 #bar 的 innerHTML:
chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
function(tabs){
document.getElementById("bar").innerHTML = tabs[0].url;
}
);
如果您不这样做,以下是您提供的示例代码中发生的情况:
// 1. Create foo.
var foo = '';
// 2. Call the query function on chrome.tabs
chrome.tabs.query({'active': true, 'windowId': chrome.windows.WINDOW_ID_CURRENT},
function(tabs){
// 4. Set foo after query is done doing whatever.
foo = tabs[0].url;
}
);
// 3. Set the html of the element with id="bar" to what's in foo (which is empty right now)
document.getElementById("bar").innerHTML=foo;
编辑:我假设 chrome.tabs.query 是一个异步调用,这就是它有回调的原因。如果是同步的,请忽略我的回答。