2012-02-19 31 views
0

我正在设计Chrome插件。我有一个将CSS注入网页的脚本。它现在连接到popup.html,因为它只能这样工作。执行js在后台更改CSS - Chrome扩展

问题是,我必须点击图标才能在注入css之前打开弹出窗口。因为加载JavaScript文件注入CSS。我不想这样做。

哦,内容脚本不是一个选项,因为它们不支持chrome.tabs API。

我想要做的事:在没有任何用户交互的情况下注入CSS。因为要注入CSS,我必须单击该图标才能打开弹出窗口来加载js以加载CSS。

如何在后台加载该javascript文件,以便在没有任何用户交互的情况下注入css?

+0

_As我已经在前面的问题中提到_ ??? StackOverflow不是你的博客... – gdoron 2012-02-19 11:33:28

+0

@Jacques,这个问题差不多已经很清楚了。但是,你错过了一个部分:**应该怎样注入CSS?当标签导航到某个URL时?当用户与某些浏览器控件交互时? ..? – 2012-02-19 11:37:44

+0

问题很不清楚。请重新翻译一下,或者重新调整它。 – Akshay 2012-02-19 12:19:35

回答

1

因为我有answered earlier,所以您可以通过manifest.json中的内容脚本定义注入CSS。您的内容脚本可以使用communicate以及背景页面chrome.extension.sendRequest(在内容脚本中)和chrome.extension.onRequest(在背景页面)。

因此,内容脚本解决您的问题的方式。

例子:

+0

此页面http://code.google.com/chrome/extensions/content_scripts.html表示:“但是,内容脚本有一些限制,他们不能使用chrome。* API(chrome.extension的部分除外)”那么如何在内容脚本上使用chrome.extension.sendRequest? – 2012-02-19 18:07:54

+0

@JacquesBlom您是否阅读过链接答案中的[链接文档](http://code.google.com/chrome/extensions/extension.html#content%20scripts)和示例?我给他们提供了一个理由... – 2012-02-19 18:17:10

+0

请你介意给我一个例子或解释我应该做什么。我是否必须在后台页面上执行XMLHttpRequest,然后向内容脚本注入CSS。如果是这样,我该如何注入css,因为我不能使用chrome.tabs.insertCSS。非常感谢! – 2012-02-20 13:38:32