最近我决定写一个非常简单的Google Chrome扩展程序。当用户按下扩展按钮时,它所要做的就是使用JavaScript隐藏网页中的一些DOM元素。
由于我对Chrome扩展程序一无所知,因此我开始阅读教程,并且我看到了Google的示例:A browser action with no icon that makes the page red
此示例非常接近我想要的内容。问题是我无法使其发挥作用。每当我在Chrome中加载扩展程序时,我都会看到此扩展程序的按钮,但是当我按下它时 - 没有任何反应。样本不起作用,可能我应该知道一些我还不知道的事情。
在你开始问我之前:
感谢您的帮助。
答案 0 :(得分:5)
如果你打开样本zip ...找到backgrond.js ...编辑。 找到说:
的行null, {code:"document.body.style.background='red !important'"});
并删除“!important”。所以它应该是:
null, {code:"document.body.style.background='red'"});
就是这样。只是保存并重新加载扩展,应该工作(除非页面有一个!important标志设置为后台)。
恐怕我不知道为什么“!important”标签不起作用,但我从来没有能够在扩展中使用它。希望这里的其他人能够给出解释,也许还可以解决。
答案 1 :(得分:0)
我想我可以帮助对“重要的”#34;覆盖属性导致扩展中断。虽然我不是100%,但我认为这个属性不允许涉及安全性并发症的问题。我有一个链接到另一个SO线程,可能有助于澄清这一点。
My CSS is not getting injected through my content script
我在阅读本文时假设您必须在清单文件中指定的内容脚本时使用!important override。否则,如果正在注入css!则不需要重要。再一次不是100%。