0

我正在为 Chrome 构建一个扩展,它为用户提供了一个基本的 API。我希望其他开发人员能够将他们自己的功能添加到我的 API 中。例如,一些开发人员提供了一个新的“插件”(它只是 JavaScript 代码),我希望用户能够将该插件下载到他们的扩展中。

我面临的主要问题是:

  • 如何将新代码永久加载到扩展中?

理想情况下,我想将代码添加到扩展的 JavaScript 中,但我无法写入文件;我的印象是我受到 JavaScript 的限制——这是真的吗?

虽然我也许可以动态加载新代码(通过下载一些脚本),但该代码只会在当前运行中保留,并且不会永久添加。相反,一旦用户重新加载扩展,它就会消失。

到目前为止,我能看到的唯一解决方案是创建一个登录系统,在其中保存每个用户下载的插件,并为他提供每次打开扩展程序时加载它们的强制选项。

这种方法很杂乱,不切实际,因为我不想每次都让用户登录。事实上,我非常想避免使用任何登录系统。

我想要的是类似于 GreaseMonkey 扩展的功能,即允许用户编写脚本并允许其他用户下载它们的能力。

我显然希望创建一个比 GreaseMonkey 更小更简单的扩展,但像 GreaseMonkey 这样的东西或多或少是我正在寻找的。

有什么想法或建议吗?

4

1 回答 1

2

所有的“插件”都将是独立的 chrome 扩展。然后,您可以使用Message Passing向每个已安装的扩展发送消息,并且插件应该具有类似于以下内容的代码:

if recieve "some identifying key"
then respond "information about this plugin"

现在您的主扩展知道安装了哪些插件,并且可以使用chrome-extension://[extensionID]/file.js".

这应该让你开始:)

于 2013-01-07T19:49:56.840 回答