我开始构建Chrome扩展程序,看起来大多数函数都是使用回调函数的异步函数,甚至是人们期望同步行为的函数,例如chrome.tabs.getCurrent
。
所以,假设我想要一个browserAction的弹出窗口,当用户点击一个按钮将一些对象作为消息传递给background.js时。出于本示例的目的,该对象应包含当前的选项卡URL和cookie值。 chrome.tabs.getCurrent(cb)
和chrome.cookies.get(details, cb)
都需要回调。如何收集数据以通过而执行以下操作:
chrome.tabs.getCurrent(
function(currentTab){
var url = currentTab.url;
chrome.cookies.get({...},
function(cookie){
var msg = { "url" : url, "value" : cookie.value };
chrome.runtime.connect().postMessage(msg);
});
}
);