2011-07-24 14 views
0

我一直在阅读的dev guide但一直没能解决如何把我自己的代码到网页如何获取Chrome扩展以影响网页本身? (不弹出)

我知道这是可能的,因为AVG使用它(在它的链接扫描器)并且FastestChrome扩展也使用它(突出显示某些内容并链接到搜索弹出窗口)。

我有一个中背景页面,但我不能让它影响我去的网页(权限是正确的,因为我可以得到的CSS效果)

我可能丢失很简单的东西:/

回答

6

这不是直观地在文档中显示,但您的背景页面无法访问它们在不同上下文中的当前网页b/c。换句话说,后台页面是它自己的单独页面,因此它无法访问任何其他页面的DOM。

如果您想要影响用户在浏览器中查看的页面,您将需要使用被称为“内容脚本”的内容。

如果要在内容脚本和背景页面之间进行通信,则需要参考message passing API。请参阅my extension's source code以供参考。我正是那样做的。

只要记住...

背景页:在扩展用于一般的逻辑,没有什么具体的页面。

内容脚本:被加载到用户看到的每个页面中,并且可以操纵该特定页面。

+0

啊我现在看到了,谢谢! – andrew

+1

如果你喜欢我的回答,你可以接受:) – sym3tri

1

那些可能使用Content Scripts将JavaScript注入到网页中。这些脚本在网页的上下文中运行并可以访问DOM。
您可以通过在扩展清单中声明脚本文件来定义一个始终在网页中运行的脚本,也可以使用背景页面在需要时插入脚本。

相关问题