Javascript 开发Firefox扩展最简单的方法是什么?
我计划开发一个简单的Firefox扩展,它将缩短当前活动选项卡的URL,显示一个带有缩短URL的弹出窗口,并将其放入剪贴板 在GoogleChrome中,这将非常简单(根据)——纯JavaScript加上对JavaScript API-s的一些调用,以与浏览器的UI交互 然而,在搜索了一个很好的Firefox扩展教程之后,我发现最官方的链接是:Javascript 开发Firefox扩展最简单的方法是什么?,javascript,google-chrome,firefox,firefox-addon,firefox-addon-sdk,Javascript,Google Chrome,Firefox,Firefox Addon,Firefox Addon Sdk,我计划开发一个简单的Firefox扩展,它将缩短当前活动选项卡的URL,显示一个带有缩短URL的弹出窗口,并将其放入剪贴板 在GoogleChrome中,这将非常简单(根据)——纯JavaScript加上对JavaScript API-s的一些调用,以与浏览器的UI交互 然而,在搜索了一个很好的Firefox扩展教程之后,我发现最官方的链接是: 根据他们的说法,看起来我必须学习XUL语言,以便与浏览器的UI进行最简单的交互。最重要的是,我必须设置定制的Firefox配置文件,以避免在开
- 从下载SDK,并将其解压缩
- 快速浏览自述文件(总是有用的)
- 从SDK目录执行
(自述文件所在的目录)source bin/activate
- 执行
——此引导将本地副本导入并在浏览器中打开cfx docs
- 保留SDK目录,为扩展创建一个空目录
- 在extensions目录中执行
——这将生成所有必要的文件/目录cfx init
- 请按照第页的其余部分进行操作:
- 只需几行js即可更新
,将自定义小部件放置到加载项栏上lib/main.js
- 执行
——这将打开新的Firefox实例,其中包含新的闪亮扩展cfx run
- 只需几行js即可更新
是的,有三种不同的技术可用于构建扩展: 你可以读两种语言的比较 如果可以,建议使用附加SDK,它使用 无重启扩展机制,但简化了某些任务和 自己清理。如果加载项SDK不足以满足您的 如果需要,请改为实现手动无重启扩展 开始使用基于SDK的附加扩展的步骤
我做了一个关于使用Firefox插件SDK开发扩展的教程: 开发附加组件有多种方法,每种方法都有优点和缺点: WebExtensions是Firefox插件的未来。如果您可以使用WebExtensionsAPI,那么它是最佳选择。您现在可以开发和发布WebExtensions,但它们仍处于早期状态 插件SDK提供了用于开发Firefox插件的API,以及用于开发、测试和打包这些插件的工具。到目前为止,唯一的方法是使用。Firefox 52将接受最后的SDK扩展,而Firefox 57将终止所有其他扩展支持,仅支持WebExtensions Firefox复制了Google Chrome的扩展API。因此,您可以使用您的Chrome扩展,看看Firefox是否已经支持所有API(现在应该支持)。 程序员,比如Giorgio Maone 要开发WebExtension,您需要
- 可以通过以下方式安装的
npm install --global web-ext
- 或者简单地使用Firefox的
或chrome的about:debug
临时加载webextensionchrome:extensions
无论哪种方式,您都需要在自己创建的目录中创建一个
manifest.json
文件,将所有功能粘在一起。有关第一个示例,请参见。或者位于的Google文档。在.bashrc
中创建一个方便的快捷方式,这样您就不必再手动将cd刻录到加载项目录:alias addon sdk=“cd/opt/addon sdk&&source bin/activate;cd-”
。既然您提到了“Chrome扩展”,我想补充一点,我还创建了一个名为module的模块,使移植使用Chrome API的扩展变得非常容易。当我在新文件夹中启动bash cfx init
时,我得到以下错误:/opt/addon-sdk-1.16/bin/cfx:line 12:意外标记附近的语法错误'(“/opt/addon-sdk-1.16/bin/cfx:line 12:‘cuddlefish_root=os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0]))”
您必须通过phyton启动cfx,因此我创建了别名cfx=“python/opt/addon-sdk-1.16/bin/cfx”
带有此链接的内容已被删除=(@ArslArsl:您应该通过npm
安装该工具。但是SDK不能再用于开发新的扩展。请参阅bin\activate
部分已损坏