通过编程更改chrome扩展的manifest.json中的user_contents信息

时间:2012-03-09 03:56:48

标签: google-chrome google-chrome-extension

我找到了这个api http://code.google.com/chrome/extensions/tabs.html#method-insertCSS,但是当加载html文件时这是api insert css文件,并且整个页面重绘导致新css规则隐藏了此页面的某些区域。是否有任何想法我在页面渲染之前插入css文件?我知道manifest.json可以解决这个问题,但是这个解决方案是静态的,我无法通过编程来改变样式。

我想要的是我可以动态地将css规则(css文件或css代码片段)分配给符合我条件的页面并且不会使页面闪烁。 Manifest.json规则是静态的,这些规则在DOM渲染之前适用(通过使用run_at选项,我可以获得精细的grit控制)。

1 个答案:

答案 0 :(得分:0)

您应该在清单的content_scripts字段中尝试 runt_at:“document_start”

http://code.google.com/chrome/extensions/content_scripts.html

“在文档启动时运行”在构造DOM之前注入您的代码,这就是为什么我认为这样可以正常工作。

我建议你只尝试这种方式:通过清单注入CSS,而不是通过编程注入。如果您获得了正在寻找的行为,则可以调整清单以确保在构造DOM之前进行编程注入(.insertCSS(...))。