javascript - 更改事件窗口 (chrome.tabs)

标签 javascript google-chrome google-chrome-extension tabs

我为 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/

相关文章:

javascript - 添加 html 按钮并选择到 Highcharts

javascript - 带有时区的 moment.js 特定格式

javascript - 在 Chrome IOS 上加载 PDF 时遇到问题

javascript - 如何使用内容脚本将另一个 html 连同它的 css 文件一起注入(inject)到 html 中?

google-chrome - Chrome ExtensionInstallSources

javascript - 将 CSS 添加到 iframe 页面?

javascript - jQuery/Bootstrap 轮播容器响应

javascript - Safari - 语法错误 : Cannot declare a let variable twice

android - rgba 的透明度在 Android Chrome 中不起作用

javascript - Chrome 扩展 onResponseStarted