【问题标题】:Get tab ID in order to update after creation获取标签 ID 以便在创建后更新
【发布时间】:2018-10-18 15:16:44
【问题描述】:

当浏览器创建一个新标签页时,它一开始是空的,然后更新为about:blankabout:newtab。我需要 JavaScript 才能在扩展程序中更新它。

目前我有;

browser.tabs.onCreated.addListener(handleCreated);
browser.tabs.onUpdated.addListener(handleUpdate);

这让我知道何时创建新标签以及何时更新。在此之后,我需要能够用这样的东西再次更新它;

 var TabReplacement = {url: 'https://mycompany.com/newtab.html'};
    browser.tabs.update(TabReplacement);

我只需要能够再次更新选项卡才能拥有一个自定义的新选项卡,但它不应该影响通过在新选项卡中打开链接等创建的新选项卡。我知道它需要在何时触发事件监听器被激活。

你会直接更新标签还是获取标签ID然后通过标签ID更新?

TLDR;我想要与以下相同的功能:

{
  "name": "My extension",
  ...

  "chrome_url_overrides" : {
    "about:newtab": "https://www.google.com"
  },
  ...
}

在 Chrome 清单文件中,但这在边缘是不可能的。

提前致谢:)

【问题讨论】:

    标签: javascript java google-chrome microsoft-edge


    【解决方案1】:

    根据我的理解,我猜你是在要求这样的东西,你想使用标签 ID 来更新标签。

    function handleCreated(tab) {
    var tabReplacement = {url: 'https://mycompany.com/newtab.html'}
        browser.tabs.update(tab.id,tabReplacement);
    }
    
    function handleUpdated(tab) {
    var tabReplacement = {url: 'https://mycompany.com/newtab.html'};
        browser.tabs.update(tab.id,tabReplacement);
    }
    

    如果你想使用它也可以获取标签索引,如下所示: browser.tabs.query({index:1})

    【讨论】:

    • 上下文请看这里@Mohan,更容易解释open this
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多