根据持久设置修改Chrome扩展程序中的内容css

时间:2015-11-30 23:48:53

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

我有一个简单的扩展,它将内容CSS添加到网页中。

我希望用户可以修改内容CSS中的属性,以便他可以选择某些元素的颜色。

另外我想给他设置扩展名适用的URL的可能性,我在manifest.json中设置的东西,我不确定这是否可行。

我应该怎么做?

1 个答案:

答案 0 :(得分:1)

问题非常广泛,如果您的目标是无需更改原始样式而不闪烁原始的无样式内容,那么实施它可能是一项挑战。学习Stylish-chrome或类似的扩展可能有所帮助。

  • 要允许用户编辑CSS代码,可以在其工具栏弹出窗口中轻松添加像Ace或CodeMirror这样的JavaScript编辑器(您必须在每次击键/更改时保存更改)或在单独的页面上打开作为标签或窗口弹出窗口。

  • 使用chrome.tabs.onUpdatedwebNavigation API检查网址是否应设置样式并通过content script注入CSS(以便可以切换样式)或直接使用{ {1}}。

    还有chrome.declarativeContent APIchrome.tabs.insertCSS动作已经可以在Chrome的稳定频道上使用。如果您决定使用它,请首先根据上述更传统的方案测试其速度和可靠性。

  • 网址和样式可能会保留在chrome.storageIndexedDBlocalStorage(同步,从而降低性能)或WebSQL(最快,但W3C“弃用”了有利于较慢的IndexedDB)。您可能希望在变量中保留URL的缓存副本以进行加速。

P.S。请务必了解extension architecture并使用debugger而不是猜测。看看官方extension samples