开发Firefox扩展的最简单方法是什么?

dor*_*erg 60 javascript firefox google-chrome firefox-addon firefox-addon-sdk

我打算开发一个简单的Firefox扩展,它将缩短当前活动选项卡的URL,显示带有缩短URL的弹出窗口,并将其放入剪贴板.

在谷歌浏览器中,这非常简单(根据http://developer.chrome.com/extensions/getstarted.html) - 纯JavaScript以及一些与浏览器UI交互的JavaScript API调用.

但是,在搜索了一个很好的Firefox扩展教程之后,我找到的最正式的链接是:

据他们说,看起来我必须学习XUL语言,即使是与浏览器UI的最简单的交互.最重要的是,我将不得不设置自定义Firefox配置文件,以便在开发过程中不使用我的默认配置文件,创建复杂的目录结构,用晦涩的XML编写清单,找出如何打包和测试我实现的任何内容等.

它是2013年,是不是有一种更简单的方法来构建Firefox扩展?

dor*_*erg 72

它是2013年,是不是有一种更简单的方法来构建Firefox扩展?

就在这里!

您在问题中提供的链接令人难以置信地过时了.有一种新的,更好的方法来开发Firefox扩展 - Firefox附加SDK.

然而,通过谷歌搜索"firefox插件教程"很难偶然发现它.我很惊讶Mozilla没有更积极地宣传它,或者至少在你找到的那些页面上提到它.

入门步骤(Mac/Linux,但PC应该非常相似):

  • https://addons.mozilla.org/en-US/developers/builder下载SDK ,解压缩.
  • 快速浏览一下README文件(总是很有用).
  • source bin/activate从SDK目录执行(与README文件所在的目录相同).
  • 执行cfx docs- 这将引导SDK文档的本地副本并在浏览器中打开它.
  • 保留SDK目录,为您的扩展创建一个空目录.
  • cfx init在扩展dir中执行- 这会生成所有必需的文件/目录.
  • 按照get-started-with-cfx页面的其余部分进行操作:
    • lib/main.js只需几行JS即可更新,将自定义小部件放到附加栏上.
    • 执行cfx run- 这将打开新的Firefox实例,其中包含新的闪亮扩展.

总而言之,我花了几个小时阅读文档,熟悉SDK API,找到SDK 模块将小部件放在导航栏而不是附加栏上,并开发全功能扩展大约50行JavaScript.

HTH!

更新

有一个名为WebExtensions的新标准

来自MDN

目前有几种用于开发Firefox附加组件的工具集,但WebExtensions将在2017年底成为标准.

如果您正在编写新的加载项,我们建议您编写WebExtension.


Sub*_*axe 9

是的,您可以使用三种不同的技术来构建扩展:

  1. 基于SDK的附加扩展
  2. 手动引导无重启扩展
  3. 叠加扩展

你可以在这里阅读比较

如果可以的话,建议使用Add-on SDK,它使用无重启的扩展机制,但简化了某些任务并自行清理.如果Add-on SDK不足以满足您的需求,请改为实现手动无重启扩展.

步骤开始使用加载基于SDK的扩展

  1. 安装
  2. 创建用户界面
  3. 与浏览器交互


ser*_*inc 8

https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/开始,未来的唯一方法是使用WebExtensions.Firefox 52将接受最后的SDK扩展,而Firefox 57将终止所有其他扩展支持,仅支持WebExtensions.

Firefox复制了Google Chrome的扩展程序API.因此,您可以使用Chrome扩展程序,看看Firefox是否已经支持所有API(它们应该是截至目前).NoScript的Giorgio Maone 等程序员积极支持对WebExtensions的更改.

要开发WebExtension,您需要

无论哪种方式,您需要一个manifest.json由您创建的目录中的文件,它将所有功能粘合在一起.有关第一个示例,请参阅https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Your_first_WebExtension.或者Google文档位于https://developer.chrome.com/getstarted.


eje*_*nta 5

我制作了一个关于使用 Firefox addon SDK 开发扩展的教程:

如何使用插件 SDK 开发 Firefox 扩展


ira*_*ari 5

官方两种开发附加组件的方式,每种方式各有利弊:

1- WebExtensions(较新的方法):

WebExtensions 是 Firefox 附加组件的未来。如果您可以使用 WebExtensions API,那是最好的选择。您现在可以开发和发布 WebExtensions,但它们仍处于早期状态。

2- 附加 SDK(旧方法):

插件 SDK 提供用于开发 Firefox 插件的 API,以及用于开发、测试和打包它们的工具。