阅读另一个Chrome扩展程序的manifest.json

时间:2011-11-02 09:14:28

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

我正在开发一个模块化扩展,可以通过其他扩展进行扩展。我正在寻找一种方法来读取扩展的manifest.json或者自定义文件,比如widgets.json。

即使获得了<all_urls>权限,我也尝试了this,但不幸的是遇到了这个错误:

XMLHttpRequest cannot load chrome-extension://aknpkdffaafgjchaibgeefbgmgeghloj/manifest.json. Cross origin requests are only supported for HTTP.

还有其他方法可以在扩展程序之间交换小而简单的数据位吗?我目前正在使用chrome.extension.sendRequest,但这证明是对background.html内存的征税。此外,它还使托管应用程序无法在其应用程序中嵌入小部件。

我非常感谢任何帮助。

注意:我也意识到jsonp是一个选项,但我宁愿不接受。恶意扩展可能很容易导致漏洞。

1 个答案:

答案 0 :(得分:3)

  

恶意扩展可能很容易导致漏洞。

这正是为什么Chrome不允许一个分机查看另一个花园的原因。

所以不,Chromium不支持这一点。您有几种选择:

  1. 提交实施“扩展点”的增强请求,该扩展点允许不同的扩展程序相互通信而无需额外的外部服务器。

  2. 在构建时共享数据:创建一个包含共享数据的框架扩展,并使用相同的框架构建所有“子”扩展。这意味着您必须同时部署所有扩展,并且它不允许您的扩展交换运行时数据,但它可能有所帮助。

  3. 创建一个外部服务器,允许所有扩展程序相互通信。可能不太现实,只是为了完整起见。