如何编写 Firefox 插件? [关闭]

Posted

技术标签:

【中文标题】如何编写 Firefox 插件? [关闭]【英文标题】:How do I write a Firefox Addon? [closed] 【发布时间】:2010-09-06 16:32:25 【问题描述】:

开始编写 Firefox 插件有哪些资源?某处有 API 指南吗?某处有入门教程吗?某处是否有开发者讨论区?

【问题讨论】:

请注意,至少有两种类型的 Firefox 插件/扩展:“旧”、基于 XUL 和 XPCOM 的扩展以及基于更现代的 Jetpack API(也称为“插件 SDK”)的插件,它使用 javascripthtml 和 CSS。作为一名 Web 开发人员,我发现现代 API 更易于使用:addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/… 可能有些事情您还不能使用 Jetpack API 完成。您可以在这里查看差异:addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/… @chiborg,我在这里写了一个关于Add-on SDK的详细答案:***.com/questions/20409349/…,希望对你有用。 所有答案,除了非常一般的developer.mozilla.org/en/Extensions,由于 WebExtension 标准而过时。要么重新开放,要么采取一些其他措施来链接到该新标准。见***.com/a/41107443/1587329 【参考方案1】:

我们试图让http://developer.mozilla.org/en/Extensions 回答所有这些问题。文档部分的前三个链接是关于入门的(包括 Adam 的链接)。社区部分的新闻组和 irc 频道是官方讨论区。

Mozilla 非常复杂,因此任何类型的 API 指南都会让人不知所措且难以编写。所以最好的办法是检查代码 sn-ps 页面(也链接自 MDC 扩展页面),然后搜索 MDC/google,然后在论坛中提问。

【讨论】:

【参考方案2】:

上面列出的官方页面很好,但这是我发现的最有用的入门页面: http://blog.mozilla.com/addons/2009/01/28/how-to-develop-a-firefox-extension/More recent official post

我发现从 Add-on Builder 生成的扩展开始也是一个很好的开始。您可以直接调整 JavaScript 并查看会发生什么: https://addons.mozilla.org/en-US/developers/tools/builder

您也确实希望能够进行调试,对此您有两种选择: ChromeBug - 它为您提供了用于 Firefox 扩展的 FireBug。 WebStorm,但您需要使用抢先体验版,目前需要patch I wrote。

【讨论】:

【参考方案3】:

这是 Mozilla 的官方入门页面,用于编写您的第一个扩展程序。 http://developer.mozilla.org/en/Building_an_Extension

【讨论】:

【参考方案4】:

我发现greasemonkey 是一个很好的起点...我用它为网站创建了一些功能,然后我用script compiler 将我的脚本变成了一个工作插件。当然它是机器生成的……但它的文件很少而且很容易理解。只需解压缩 .xpi 并修补即可。

【讨论】:

【参考方案5】:

这是开始学习如何构建 FireFox 扩展的绝佳资源:How to create Firefox extensions

这是一个很棒的教程,将涵盖大多数类型的扩展。

编辑:更新链接以使用存档副本,因为原始页面不再存在

【讨论】:

【参考方案6】:

这有最好的解决方案: https://developer.mozilla.org/en/Extensions 但是你可以试试greasemonkey脚本编译器

【讨论】:

以上是关于如何编写 Firefox 插件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Firefox [npapi] 插件开发 - 调用方法时 Firefox 冻结

如何写一个Andorid下自动更新的插件

如何使用 django 编写代码 [关闭]

如何在 nativescript-vue 中渲染编写复杂的数学方程? [关闭]

从 Firefox 扩展调用 NPAPI 插件功能

使用 Kotlin 编写你的第一个 Firefox WebExtension 扩展