Javascript setBadgeText chrome扩展丢失计数数字

Javascript setBadgeText chrome扩展丢失计数数字,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,如果方法SetBadgeText不丢失计数数字,这是可能的吗?我正在挣扎的是,当我点击一个按钮,计数器开始计数,然后我要检查其他一些页面,有时计数从零开始,同样的事情是当我想关闭chrome并再次打开它时。如何将实际的setBadgeText编号保存在内存中,并从最新编号开始,而不丢失它 background.js content-script.js document.body.addEventListener('click', e => { if(e.target.matches

如果方法SetBadgeText不丢失计数数字,这是可能的吗?我正在挣扎的是,当我点击一个按钮,计数器开始计数,然后我要检查其他一些页面,有时计数从零开始,同样的事情是当我想关闭chrome并再次打开它时。如何将实际的setBadgeText编号保存在内存中,并从最新编号开始,而不丢失它

background.js

content-script.js

document.body.addEventListener('click', e => {
    if(e.target.matches('[value="Google Search"]')) {
        chrome.runtime.sendMessage('clicked')
    }
});
manifest.json

{
    "manifest_version": 2,
    "name": "Counter",
    "version": "1.0",

    "content_scripts": [
      {
        "matches": ["https://*/*"],
        "run_at": "document_end",
        "js": ["content-script.js"]
      }
    ],
    "description": "description",

    "background": {
      "persistent": false,
      "scripts": ["background.js"]

    },

    "browser_action": {
      "default_title": "counter"

    }
}
使用存储API:

同步存储将同步到您登录的任何Chrome浏览器。本地存储是本地的

以下是如何将存储API集成到示例中:

// background.js
chrome.runtime.onMessage.addListener(message => {
    if(message === 'clicked') {
        chrome.storage.local.get('counter', ({counter}) => {
            counter += 1;
            chrome.browserAction.setBadgeText({
                text: counter.toString()
            });
            chrome.storage.local.set('counter', counter)
        })

    }
});
您还需要将存储权限添加到清单中:

// manifest.json
{
    ...

    "browser_action": {
      "default_title": "counter"

    },

    permissions: [
        "storage"
    ]
}

是的,但如何将其与setBadgetext连接?我只找到了主要使用HTML的函数。添加了一个示例,这让我更清楚了。你的回答对我很有帮助。你能告诉我当我关闭Chrome并想再次打开它时,我应该使用什么函数、变量来加载计数器编号吗?当我关闭Chrome并想再次打开它时,我应该使用什么函数、变量来加载计数器编号?chrome存储API允许您保存数据,并在chrome重新启动后再次加载数据。这就是你的意思吗?对不起,我写错了。我想说。如果chrome.storage.local.set'counter',counter保存最新的数字,当我想继续计数时,我应该使用什么命令再次加载它?
// manifest.json
{
    ...

    "browser_action": {
      "default_title": "counter"

    },

    permissions: [
        "storage"
    ]
}