【问题标题】:Switch current tab from notification in Google Chrome extension从 Google Chrome 扩展中的通知切换当前选项卡
【发布时间】:2011-08-28 20:45:56
【问题描述】:

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

我有一个扩展,一旦标签完成加载,它会弹出一个通知,如果未选择加载的标签,则为用户提供更改以将其更改为选中。或者至少这是我想要它做的。

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

非常感谢。

【问题讨论】:

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


    【解决方案1】:

    您可以通过以下方式选择标签:

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

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • active:true 不影响窗口是否应该聚焦。如果你使用active:true,你也应该使用windows.update,或者至少先检查窗口。
      • 确实,但我想澄清一下关于 active 和 highlightend 之间区别的常见混淆,因为乍一看它们似乎做同样的事情。
      猜你喜欢
      • 1970-01-01
      • 2012-04-21
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-22
      相关资源
      最近更新 更多