从Google Chrome扩展程序中的通知切换当前标签

时间:2011-08-28 20:45:56

标签: javascript google-chrome google-chrome-extension

我是否遗漏了Chrome tabs documentation中的内容,或者有没有办法让扩展程序更改当前有效的标签?

我有一个扩展程序,一旦选项卡完成加载,就会弹出一个通知,如果未选中加载的选项卡,则会向用户提供更改以将其更改为选中状态。或者至少这就是我想要的。

阅读notifications API我没有看到任何提及访问chrome.tabs.get的方式,但有chrome.extension.getBackgroundPage()。任何人都知道如何将其变成我想要做的事情?

非常感谢提前。

4 个答案:

答案 0 :(得分:27)

您可以使用以下选项制作选项卡:

chrome.tabs.update(tabId, {highlighted: true});

Chrome API在通知html中可用,因此您可以调用任何您喜欢的chrome.*方法。

答案 1 :(得分:4)

不确定,但您是否可以尝试在非活动选项卡(或仅在所有选项卡中)添加内容脚本,然后将请求发送到非活动选项卡(sendRequest)?内容脚本应该执行window.focus()。再次,不确定这是否有效。

Update非活动标签,并传递{ selected: true }。这应该有效,因为它在那里列为可用设置。

答案 2 :(得分:2)

自Chrome v33以来,@ serg的答案已被弃用。

以下是现在应该采取的正确方法:

chrome.tabs.update(tabId, { highlighted: true });

答案 3 :(得分:1)

使用active:true切换到选项卡/对其进行聚焦,并使用highlighted:true选择一个或多个,当您想移动它们时。