2

最近我决定写一个非常简单的谷歌浏览器扩展。它要做的就是在用户按下扩展按钮时使用 JavaScript 从网页中隐藏一些 DOM 元素。

由于我对 Chrome 扩展一无所知,所以我开始阅读教程,并且偶然发现了这个 Google 的示例:一个没有图标的浏览器操作使页面变红

这个样品真的很接近我想要做的。问题是我不能让它工作。每当我在 Chrome 中加载扩展程序时,我都可以看到此扩展程序的按钮,但是当我按下它时 - 没有任何反应。示例不起作用,可能我应该知道一些我还不知道的事情。

在你开始问我之前:

  • 是的,我尝试重新启动浏览器;
  • 我使用最新版本的 Chrome。

感谢帮助。

4

2 回答 2

5

如果您打开示例 zip... 找到 backgrond.js... 编辑。找到写着:

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

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

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

这就对了。只需保存并重新加载扩展,应该可以工作(除非页面有一个 !important 标志设置为背景)。

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

于 2012-09-06T17:37:25.697 回答
0

我想我可以帮助澄清导致扩展中断的“!important”覆盖属性。虽然我不是 100%,但我相信这个属性不允许用于涉及安全复杂性的问题。我有一个指向另一个 SO 线程的链接,它也可能有助于澄清这一点。

我的 CSS 没有通过我的内容脚本注入

我通过阅读本文假设您必须在清单文件中指定内容脚本时使用 !important 覆盖。否则,如果正在注入 css,则不需要 !important。再次不是100%。

于 2012-09-07T07:18:00.817 回答