获取选项卡ID,以便在创建后进行更新

时间:2018-10-18 15:16:44

标签: javascript java google-chrome microsoft-edge

浏览器创建新标签时,它开始为空,然后用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清单文件中,但使用edge则无法实现。

预先感谢:)

1 个答案:

答案 0 :(得分:0)

根据我的理解,我想您是在要求使用Tab 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})