更正语法以在setBadgeText内部传递变量

时间:2019-06-13 13:11:26

标签: javascript google-chrome-extension

我正在编写一个小的扩展程序,该扩展程序还将显示使用Macthing URL打开的选项卡的数量,作为一个徽章,在编码方面,我是一个完整的初学者。

我正在使用查询来获取制表符的数量,该数量存储为foundtabs.length。我试图通过一个变量传递它,但是我很确定我弄错了语法...

function UpdateCount(){
    chrome.tabs.query({url: 'http://localhost:4848/sense/app/*'}, 
foundTabs => {
        var Test3 = foundTabs.length
        chrome.browserAction.setBadgeText({text: Test3});
        chrome.browserAction.setBadgeBackgroundColor({color: '#4688F1'});
    });
};

我还尝试直接放置foundtabs.length而不是Test3,但也没有用

我希望徽章与foundTab的长度匹配,正确地显示打开的标签的数量

1 个答案:

答案 0 :(得分:0)

语法正确,但是您需要将数字手动转换为字符串

chrome.browserAction.setBadgeText({text: String(Test3)});

这样做的原因是API希望每个属性的类型都与documented signature相匹配:

  • 字符串文本
  • 整数(可选)tabId