Chrome Extension检测按钮内部扩展名

时间:2015-05-20 12:12:10

标签: javascript google-chrome google-chrome-extension

我正在构建一个简单的chrome扩展程序,我需要它来单击扩展程序弹出窗口中的按钮来更改所选标签页的背景颜色。

<button id="btn">Change</button>

我试过这个:

var b = chrome.extension.getElementById('btn');

b.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript({
        code: '
            document.body.style.backgroundColor = "#000"
        '
    });
});

在JS文件中,它什么都没做,这里有什么问题?

这是我的清单文件:

{
    "manifest_version": 2,

    "version": "1.0",
    "name": "extension",
    "description": "extension disc",

    "browser_action": {
        "default_title": "extension",
        "default_popup": "popup.html"
    },
    "icons": {
        "16": "icon16.png",
        "48": "icon48.png",
        "128": "icon128.png"
    },
    "content_scripts": [{
        "matches": ["http://*/*", "https://*/*"],
        "js": ["jquery.min.js"]
    }],
    "permissions": [
        "tabs"
    ]
}

1 个答案:

答案 0 :(得分:1)

弹出窗口会构建自己的DOM,因此您可以将var element = document.getElementById('btn')element.addEventListener()chrome.tabs.query({active: true, currentWindow: true})一起使用来获取当前窗口的活动标签

请务必在清单中提供标签权限

然后在你的popup.js中尝试这个

var b = document.getElementById('btn');

b.addEventListener('click', function() {
    chrome.tabs.executeScript({
        code: 'document.body.style.backgroundColor = "black";'
    });
}, false);