gpt4 book ai didi

google-chrome-extension - 为什么在应用自定义图标后浏览器操作默认图标会重新出现?

转载 作者:行者123 更新时间:2023-12-04 01:40:50 33 4
gpt4 key购买 nike

我在 Chrome 中的浏览器操作图标有一个奇怪的问题。 list 中定义的浏览器操作有一个默认图标。图标显示正确。然后在后台页面中,在某些情况下,我调用:

chrome.browserAction.setIcon({path:"green_32.png", tabId:request.tabId});

此图标闪烁片刻,然后变回默认图标。事件选项卡及其 ID 传递给 setIcon在整个过程中保持不变。

有人可以提出一个想法,为什么会发生这种情况?

最佳答案

每次图标都重置为默认状态是因为我打了setIcon 之前 该选项卡完成加载并获得“完成”状态。

我想在 tabs 的文档中应该有一些关于此的信息。或在 browser actions ,但我没有找到它:默认图标实际上是按设计应用于完成加载后的特定页面的。我移动了电话setIcon进入 tabs.onUpdated处理程序,现在自定义图标仍然存在。

这与我之前的理解相矛盾,即浏览器操作图标是基于每个选项卡设置的,而不管加载到选项卡中的页面及其状态。

@KonradDzwinel 好心提供了一个简单的扩展来测试案例(查看评论)。我更改了它的 background.js 脚本来演示这种行为:

chrome.browserAction.onClicked.addListener(function(tab)
{
chrome.browserAction.setIcon({path: 'gfx/icon2.png', tabId: tab.id});
});

要重现此行为,请在任何选项卡上按浏览器操作图标进行更改。然后刷新页面。结果,浏览器操作图标重置为默认值。

如果在某些文档中解释了这种行为,请在评论中写下它,我会更新答案。从我到目前为止所读到的内容来看,我确信在创建时为新选项卡设置了默认图标,然后对其进行的任何更改都完全在扩展程序的控制之下。

关于google-chrome-extension - 为什么在应用自定义图标后浏览器操作默认图标会重新出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12710061/

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