无法使用 google chrome 扩展程序触发 chrome.browserAction.onClicked.add



我有点被困在这里,想知道是否有人可以指出我可能错的地方。

我只是想在单击应用程序图标时将车身颜色更改为红色。

manifest.json

{
    "name": "Bagde",
    "description": "",
    "version": "1",
    "manifest_version": 2,
    "background": {
        "scripts": [
            "background.js"
        ]
    },
    "browser_action": {
        "default_title": "Test",
        "default_popup": "popup.html"
    }
}

弹出窗口.html

<html>
    <head>
        <script src="popup.js"></script>
    </head>
    <body>
        <p>Some Content ..</p>
    </body>
</html>

弹出窗口.js

document.addEventListener("DOMContentLoaded", function () {
    //Get Reference to Functions
    backGround = chrome.extension.getBackgroundPage();
    //Call Function
    backGround.updateIcon();
  });

背景.js

var i = 1;
function updateIcon() {
    i = 1;
    chrome.browserAction.setBadgeText({
        text: 'Test'
    });
    chrome.browserAction.setPopup({
        popup: "popup.html"
    });
}

chrome.browserAction.setBadgeBackgroundColor({
    color: [200, 0, 0, 100]
});
window.setInterval(function () {
    chrome.browserAction.setBadgeText({
        text: String(i)
    });
    i++;
}, 4000);
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(null,
        {code:"document.body.bgColor='red'"});
});

知道我可能做错了什么吗?感谢您抽出宝贵时间阅读本文。

如果定义 default_popup ,则不能有 browserAction.onClicked 的侦听器。在这种情况下,您只需将处理程序中的代码添加到popup.js即可。

编辑:即,添加到以下popup.js

chrome.tabs.executeScript(null, {code:"document.body.bgColor='red'"});

最新更新