我找到了这个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控制)。
答案 0 :(得分:0)
您应该在清单的content_scripts字段中尝试 runt_at:“document_start”。
http://code.google.com/chrome/extensions/content_scripts.html
“在文档启动时运行”在构造DOM之前注入您的代码,这就是为什么我认为这样可以正常工作。
我建议你只尝试这种方式:通过清单注入CSS,而不是通过编程注入。如果您获得了正在寻找的行为,则可以调整清单以确保在构造DOM之前进行编程注入(.insertCSS(...))。