从Web应用访问Chrome扩展程序

时间:2011-10-03 03:02:02

标签: javascript google-chrome google-chrome-extension

我想知道是否有人能够列出我应该采取的一般逻辑来实现以下目标:

我有一个Chrome扩展程序,它会获取用户书签列表。

当用户访问网页时,访问扩展程序检索到的信息并显示在网页上。

我已经有了扩展程序,我想知道如何从网页访问它?

2 个答案:

答案 0 :(得分:3)

要与网页通信,您需要一个将在该网页上加载的内容脚本。然后你可以use events to communicate。内容脚本可以从您的后台页面接收消息,并在必要时将它们转发到网页。

确保牢记security considerations section。您可以将用户的书签提供给网页,您应该非常确定该网页应该可以访问它们。

答案 1 :(得分:1)

因此,如果扩展的作者编写了扩展名,并对他的代码进行了沙盒化(这意味着他/她做了一些事情来保持他的vars不在全局命名空间中),那么你就没有太多了能够做到的。所以...检查作者是否可以在全局命名空间级别访问其变量。要在Chrome中执行此操作,请转到该页面,打开开发工具,转到控制台并输入

console.log(window);

这将显示全局命名空间,并应显示您要查找的内容。如果你看到任何看起来不像传统变量或对象或函数的东西,那么你应该调查一下。我希望我能在这里给你更清晰的步骤,但你本质上是试图从扩展中劫持代码,而这种东西需要大量的测试/调查。

如果全局命名空间中没有任何异常,那么这意味着代码是沙盒的,并且您处于困境。从扩展代码中获取任何变量/值/对象将很困难。

祝你好运。