4

我刚开始开发Chrome扩展程序,除了这个小问题之外,我几乎完成了。如何在Chrome扩展中的浏览器操作中将Unicode字符设置为徽章文本?

我想设置一个Unicode字符作为浏览器动作上的徽章文本,但我迄今为止尝试的是而不是正在工作。

下面是它现在的样子。 enter image description here

  • Unicode字符 - 💩(也被称为 '船尾')
  • 它的Unicode - U + 1F4A9(从here

我试过到目前为止什么:

chrome.browserAction.setBadgeText({text: '💩'}); //shows '💩' 
chrome.browserAction.setBadgeText({text: 'U+1F4A9;'}); //shows 'Ú+1F4A9;' 
chrome.browserAction.setBadgeText({text: '\U1F4A9;'}); //shows '\U1F4A9;' 
chrome.browserAction.setBadgeText({text: '\\U1F4A9;'}); //shows '\\U1F4A9;' 
chrome.browserAction.setBadgeText({text: ''});   //shows empty box 

我应该这样做,它显示?

UPDATE:正如@Xan在他的回答和评论中所提到的那样,UI渲染无法控制。

所以,我试着做这个<title></title>看看Chrome是否可以渲染它,并且它可以在标签标题中显示

原来Chrome可以。 enter image description here

那么,Chrome为什么不能在一个地方渲染(浏览器操作),并且可以在另一个地方(Tab标题或标题栏)?

+2

向下滚动到您网页上的“C/C++/Java Src”,您将看到正确的转义序列:'\ uD83D \ uDCA9'。如果您看到一个框(这是我在Firefox和Chrome中看到的),那么该字体没有Poo字形。 –

+0

你在什么操作系统下尝试?当你使用文字,比如'я'时,你有没有更好的运气? – pvg

+0

@pvg我正在Windows 8.1操作系统上尝试这个操作系统 - 64位和字符'я'工作正常,但''不。 –

回答

4

正如Rob的评论所示,最后一种形式是正确的。

但是,徽章使用的字体根本没有该Unicode字符,并且Chrome只使用1个字体作为徽章,而不是寻找替代品。

因此,你不走运。

+0

有没有什么办法可以在我的支持''的Chrome扩展中包含这样的字体,就像我们在常规的Web应用程序中一样? –

+0

否;您无法指定用于UI渲染的字体。 – Xan

+0

无论如何,非常感谢:) –

相关问题