不能让简单的chrome扩展示例工作,"使页面变红"一

时间:2012-09-29 17:41:30

标签: google-chrome-extension

目前 http://developer.chrome.com/extensions/samples.html标题为的第二个样本:
“没有图标的浏览器操作使页面变红”

我下载了3个文件(清单,js,图标)并安装了扩展样本。

当我运行它时,我在栏上得到一个拼图图标,徽章每秒递增一次 当我点击图标时 - 没有任何事情 当我点击页面时 - 没有任何事情 我也看不到随处可用的图标。

我不知道这是代码问题还是使用问题。

的manifest.json:

{
  "name": "A browser action with no icon that makes the page red",
  "version": "1.0",
  "background": { "scripts": ["background.js"] },
  "permissions": [
    "tabs", "http://*/*"
  ],
  "browser_action": {
    "name": "Make this page red",
    "icons": ["icon.png"]
  },
  "manifest_version": 2
}

background.js文件

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(
      null, {code:"document.body.style.background='red !important'"});
});

chrome.browserAction.setBadgeBackgroundColor({color:[0, 200, 0, 100]});

var i = 0;
window.setInterval(function() {
  chrome.browserAction.setBadgeText({text:String(i)});
  i++;
}, 10);

1 个答案:

答案 0 :(得分:2)

这是How to make Google Chrome extension sample work?

的副本

请参阅下面的答案:

如果你打开样本zip ...找到backgrond.js ...编辑。找到说:

的行
null, {code:"document.body.style.background='red !important'"});

并删除“!important”。所以它应该是:

null, {code:"document.body.style.background='red'"});

就是这样。只是保存并重新加载扩展,应该工作(除非页面有一个!important标志设置为后台)。

恐怕我不知道为什么“!important”标签不起作用,但我从来没有能够在扩展中使用它。希望这里的其他人能够给出解释,也许还可以解决。