我为 pandora.com
做了一个扩展,当用户点击扩展图标时,它会打开一个带有 pandora 的新标签。
当 pandora 已在新选项卡中打开并且用户单击扩展程序时,扩展程序不会打开新选项卡,但我希望它将事件选项卡更改为已打开 pandora 的选项卡。
这是目前我的背景
页面中的内容:
chrome.browserAction.onClicked.addListener(function(tab) {
var found = false;
chrome.tabs.query({}, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].url.search("pandora.com") > -1){
found= true;
}
}
if (found==false){
chrome.tabs.executeScript(null,{file: "buy.js"});
} else {
// Changes active tab to the tab with pandora open
}
});
});
最佳答案
UPDATE- chrome.tabs.update(tabId, {selected: true});
实现了我所需要的。这是最终代码:
chrome.browserAction.onClicked.addListener(function(tab) {
var found = false;
var tabId;
chrome.tabs.query({}, function (tabs) {
for (var i = 0; i < tabs.length; i++) {
if (tabs[i].url.search("www.pandora.com/") > -1){
found = true;
tabId = tabs[i].id;
}
}
if (found == false){
chrome.tabs.executeScript(null,{file: "buy.js"});
} else {
chrome.tabs.update(tabId, {selected: true});
}
});
});
关于javascript - 更改事件窗口 (chrome.tabs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22286495/