我正在为 Chrome 构建一个扩展,它为用户提供了一个基本的 API。我希望其他开发人员能够将他们自己的功能添加到我的 API 中。例如,一些开发人员提供了一个新的“插件”(它只是 JavaScript 代码),我希望用户能够将该插件下载到他们的扩展中。
我面临的主要问题是:
- 如何将新代码永久加载到扩展中?
理想情况下,我想将代码添加到扩展的 JavaScript 中,但我无法写入文件;我的印象是我受到 JavaScript 的限制——这是真的吗?
虽然我也许可以动态加载新代码(通过下载一些脚本),但该代码只会在当前运行中保留,并且不会永久添加。相反,一旦用户重新加载扩展,它就会消失。
到目前为止,我能看到的唯一解决方案是创建一个登录系统,在其中保存每个用户下载的插件,并为他提供每次打开扩展程序时加载它们的强制选项。
这种方法很杂乱,不切实际,因为我不想每次都让用户登录。事实上,我非常想避免使用任何登录系统。
我想要的是类似于 GreaseMonkey 扩展的功能,即允许用户编写脚本并允许其他用户下载它们的能力。
我显然希望创建一个比 GreaseMonkey 更小更简单的扩展,但像 GreaseMonkey 这样的东西或多或少是我正在寻找的。
有什么想法或建议吗?