我希望能够根据我目前正在浏览的网站更改我的扩展程序的图标。我怎样才能听取标签焦点的变化?Chrome扩展程序:如何更改标签焦点上的图标?
1
A
回答
1
在你的背景页面只需注册标签更新通知:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab)
{
if (changeInfo.status == "loading")
{
var url = tab.url;
var iconPath = ???
chrome.pageAction.setIcon({tabId: tabId, path: iconPath});
}
});
该处理器将被称为每当一个标签改变位置。您无需关心当前选择哪个选项卡,因为您将为每个选项卡定义不同的图标。不过,如果你想这样做 - http://code.google.com/chrome/extensions/tabs.html#event-onSelectionChanged是要走的路。
2
我想我已经想出了这一个。你需要两个听众。一个用于检测标签何时被更改,另一个用于检测标签何时被更新。然后他们都可以触发同样的功能。这里是什么在后台文件...
function changeIcon() {
//query the information on the active tab
chrome.tabs.query({active: true}, function(tab){
//pull the url from that information
var url=tab[0].url;
//do whatever you need to do with the URL
//alert(url);
//change the icon
chrome.browserAction.setIcon({path: 'pathToIcon'});
});
}
//listen for new tab to be activated
chrome.tabs.onActivated.addListener(function(activeInfo) {
changeIcon();
});
//listen for current tab to be changed
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
changeIcon();
});
相关问题
- 1. 如何立即更改Chrome扩展程序图标?
- 2. 带有标签的Chrome扩展程序
- 3. 刷新Chrome扩展程序的图标更改
- 4. Chrome扩展程序:如何根据标题刷新标签?
- 5. 如何检测标签更改在Google Chrome扩展程序上创建的网址或标签?
- 6. Chrome扩展标签页网页图标
- 7. Chrome扩展程序:onclick扩展名图标,在新标签页中打开popup.html
- 8. Chrome扩展图标://扩展/
- 9. Chrome扩展程序 - 更改弹出图标onClick/onHover
- 10. 更改Chrome浏览器扩展程序图标
- 11. Chrome扩展程序记住从哪个标签打开标签
- 12. Chrome扩展程序 - onclick图标事件
- 13. Chrome扩展程序图标丢失
- 14. Chrome扩展程序图标不显示
- 15. Chrome扩展程序没有图标?
- 16. 如何在新标签页上从Chrome扩展程序中的多功能框中窃取焦点?
- 17. Chrome扩展程序:如何获取标签中的元素?
- 18. Chrome扩展 - 新标签
- 19. Chrome扩展:创建标签
- 20. Chrome扩展关闭或更新标签
- 21. Chrome扩展程序:打开新标签并点击按钮
- 22. 如何更改chrome扩展中的所有相关图标
- 23. 如何更改Chrome扩展中的默认图标?
- 24. Chrome扩展程序:获取上次使用的标签
- 25. Chrome扩展使鼠标点击扩展
- 26. 单击图标时如何更改Chrome扩展徽章文本?
- 27. Favicon不会显示在新标签上Chrome扩展程序
- 28. Chrome扩展程序:在每个标签上执行脚本
- 29. Chrome扩展程序 - 获取标签预览图像
- 30. 如何更改图表标签上的小数点并更改标签位置?