2011-04-22 88 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