我希望能夠根據我目前正在瀏覽的網站更改我的擴展程序的圖標。我怎樣才能聽取標籤焦點的變化?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. 如何更改圖表標籤上的小數點並更改標籤位置?