首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Chrome扩展V3无法读取未定义setBadgeBackgroundColor的属性

Chrome扩展V3无法读取未定义setBadgeBackgroundColor的属性
EN

Stack Overflow用户
提问于 2022-03-18 04:25:52
回答 1查看 731关注 0票数 2

我试图使一个V3 Chrome扩展工作,但我不知道如何改变这个V2代码的工作。

manifest.json

代码语言:javascript
运行
复制
{
  "name": "Extension name",
  "version": "1.0",
  "manifest_version": 3,
  "description": "Display API Info.",
  "background": {
    "service_worker": "background.js"
  },
  "icons": {
    "16": "./icons/icon16.png",
    "48": "./icons/icon48.png",
    "128": "./icons/icon128.png"
  },
  "action": {}
}

background.js

代码语言:javascript
运行
复制
chrome.browserAction.setBadgeBackgroundColor({ color: "green" });

const setStuff = () => {
    chrome.browserAction.setBadgeText({ text: `...` });
}

const callApi = () => {
    setStuff();

    setTimeout(() => fetch('https://api.com/api')
        .then(response => response.json())
        .then(data => {
            chrome.browserAction.setBadgeText({ text: `${data.info}` });
        }).catch(error => console.log(error)), 5000)

}

callApi()

setInterval(function () {
    callApi()
}, 300000);

在本地测试时获取此错误

代码语言:javascript
运行
复制
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'setBadgeBackgroundColor')
EN

回答 1

Stack Overflow用户

发布于 2022-03-19 19:03:21

更改清单v2的代码:

代码语言:javascript
运行
复制
chrome.browserAction.setBadgeBackgroundColor({ color: "green" });

const setStuff = () => {
    chrome.browserAction.setBadgeText({ text: `...` });
}

对于Chrome扩展清单v3的代码:

代码语言:javascript
运行
复制
chrome.action.setBadgeBackgroundColor({ color: "green" });

const setStuff = () => {
    chrome.action.setBadgeText({ text: `...` });
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71522471

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档