gpt4 book ai didi

javascript - 谷歌扩展 : Tab Events - changing windows?

转载 作者:行者123 更新时间:2023-11-30 17:50:09 26 4
gpt4 key购买 nike

我写了一个扩展,它改变了他在网站上的图标,who matches the if clause。看一看:

chrome.tabs.onActivated.addListener(
function (activeInfo) {
chrome.tabs.get(activeInfo.tabId, function(tab){
hosterRegExp(tab.url); //Function to change Icon

});
}
);

chrome.tabs.onUpdated.addListener(
function checkHosts(tabId, changeInfo, tab) {
hosterRegExp(tab.url); //Function to change Icon
}
);

每次更改事件选项卡或重新加载选项卡时,都会使用当前 URL 调用函数 hosterRegExp。这很好用。

现在,这不适用于两个窗口。如果我在两个窗口之间切换,它不会调用 hosterRegExp();那是因为事件标签不会重新加载,也不会更改事件标签。

我也找不到另一个可以帮助我的 EventHandler。所以我还必须检查当前的 windowID?我不知道 - 请帮助我。

谢谢。

最佳答案

就像 RobW 告诉我的那样,我正在使用

  chrome.windows.onFocusChanged

现在的 API。

嗯,在我的例子中,它看起来像这样:

chrome.windows.onFocusChanged.addListener(function() 
{
chrome.tabs.query({currentWindow: true, active: true}, function(tab)
{
hosterRegExp(tab[0].url);
});
});

我是用query的方式获取焦点改变后的tab。虽然不可能在一个窗口中同时激活 2 个选项卡,但数组每次都只有一个元素。

这并不漂亮,如果有人有更好更简洁的代码,请告诉我!

关于javascript - 谷歌扩展 : Tab Events - changing windows?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com