我正在为Chrome构建一个扩展,它为用户提供了一个基本的API。我希望其他开发人员能够将自己的函数添加到我的API中。例如,一些开发人员提供了一个新的“插件”(仅为JavaScript代码),我希望用户能够将该插件下载到他们的扩展中。
我面临的主要问题是:
理想情况下,我希望将代码添加到扩展名的JavaScript中,但是我没有办法写入文件;我的印象是我受到了JavaScript的限制--这是真的吗?
虽然我也许可以动态加载新代码(通过下载一些脚本),但该代码只适用于当前运行,并且不会永久添加。相反,一旦用户重新加载扩展,它就会消失。
到目前为止,我能看到的唯一解决方案是创建一个登录系统,在这个系统中,我保存每个用户下载的插件,并给他一个强制选项,在每次他打开扩展时加载这些插件。
这种方法是非常混乱和不切实际的,因为我不想让一个用户每次登录。事实上,我很想避免使用任何登录系统。
我想要的是类似于GreaseMonkey扩展的功能,即允许用户编写脚本并允许其他用户下载脚本的能力。
显然,我希望创建一个比GreaseMonkey更小、更简单的扩展,但是类似于GreaseMonkey的东西或多或少就是我想要的。
有什么想法或建议吗?
发布于 2013-01-07 19:49:56
所有的“插件”将是独立的铬扩展。然后,您可以使用讯息传递向每个已安装的扩展发送消息,而插件的代码应该如下所示:
if recieve "some identifying key"
then respond "information about this plugin"
现在,您的主扩展名知道了安装了哪些插件,并且可以使用chrome-extension://[extensionID]/file.js"
加载它们的JS文件。
这应该会让你开始:)
https://stackoverflow.com/questions/14202906
复制相似问题