我有一个简单的扩展,它将内容CSS添加到网页中。
我希望用户可以修改内容CSS中的属性,以便他可以选择某些元素的颜色。
另外我想给他设置扩展名适用的URL的可能性,我在manifest.json中设置的东西,我不确定这是否可行。
我应该怎么做?
答案 0 :(得分:1)
问题非常广泛,如果您的目标是无需更改原始样式而不闪烁原始的无样式内容,那么实施它可能是一项挑战。学习Stylish-chrome或类似的扩展可能有所帮助。
要允许用户编辑CSS代码,可以在其工具栏弹出窗口中轻松添加像Ace或CodeMirror这样的JavaScript编辑器(您必须在每次击键/更改时保存更改)或在单独的页面上打开作为标签或窗口弹出窗口。
使用chrome.tabs.onUpdated或webNavigation API检查网址是否应设置样式并通过content script注入CSS(以便可以切换样式)或直接使用{ {1}}。
还有chrome.declarativeContent API其chrome.tabs.insertCSS
动作已经可以在Chrome的稳定频道上使用。如果您决定使用它,请首先根据上述更传统的方案测试其速度和可靠性。
网址和样式可能会保留在chrome.storage,IndexedDB,localStorage(同步,从而降低性能)或WebSQL(最快,但W3C“弃用”了有利于较慢的IndexedDB)。您可能希望在变量中保留URL的缓存副本以进行加速。
P.S。请务必了解extension architecture并使用debugger而不是猜测。看看官方extension samples。