浏览器创建新标签时,它开始为空,然后用about:blank
或about: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则无法实现。
预先感谢:)
答案 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})