2011-04-22 130 views
38

我一直在試驗Chrome擴展程序,並且我想創建一個與我的Google語音擴展程序相似的圖標,當我收到一個圖標時,圖標旁邊會顯示一個藍色的「1」事件,這是一個完整的單獨的圖標嗎?然後他們只使用「setIcon」方法?像這樣圖標上的谷歌瀏覽器擴展程序號

chrome.browserAction.setIcon({path:"icon.png"}); 

下面是它的外觀視覺例如: enter image description here

Gmail的一個似乎去所有的高達500!他們不能爲每個號碼設置圖標,或者他們?有什麼我可以用它來做這件事嗎?我已經有了我的圖標,如果我必須製作一個獨一無二的圖標,我可以只製作10個圖標,然後有一個「10+」圖標。我將它連接到可能有很多事件的API。

有沒有人有這個問題?他們是如何解決它的?

任何意見或建議將有助於!

謝謝!

回答

63

您可以設置您的瀏覽器動作badgesetBadgeText

chrome.browserAction.setBadgeText({text: "10+"}); // We have 10+ unread items. 

請注意,如果您通過文本比4個字符,將被截斷的前4個字符。

+1

非常好,謝謝! – 2011-04-22 19:40:38

+1

它似乎也接受超過4個字符的字符串。我已經嘗試過一次像「** 11:30 **」這樣的格式,並且它在徽章中顯示爲一個整體。 – 2016-07-21 00:37:43

17

首先,你將不得不做一些事情。您需要有一個背景頁面,您必須在該頁面上放置用於顯示BadgeText的代碼。其次,您將不得不在manifest.json文件中註冊後臺腳本文件。

您必須製作background.js文件或任何其他* .js文件。 然後在background.js文件中您必須編寫此代碼。

chrome.browserAction.setBadgeBackgroundColor({ color: [255, 0, 0, 255] }); 
chrome.browserAction.setBadgeText({text: 'your text'}); 

之後,保存到您的擴展名相同的文件夾。 然後編輯您的manifest.json文件,並在年底

, 
"background": 
{ 
    "scripts":["background.js"] 
} 

中輸入驗證碼現在,當你重新加載擴展,你會看到這個詞your爲徽章文字,因爲只有四個字符將在小範圍內進行顯示。然而,這並不是一條硬性規定,文本字符串將被截斷爲四個字符,只是顯示了許多字符可以放入其中。我需要五個角色,我很幸運,其中兩個角色是i,他們佔用的空間不多,五個角色都顯示出來。如果你想嘗試我試圖顯示Nidhi