【发布时间】:2019-04-16 06:21:53
【问题描述】:
我是 JavaScript/Web 扩展的新手,谁能告诉我 Web 扩展是如何工作的?以及如何为自己编写网络扩展程序?
谢谢。
【问题讨论】:
标签: javascript firefox-addon-webextensions thunderbird
我是 JavaScript/Web 扩展的新手,谁能告诉我 Web 扩展是如何工作的?以及如何为自己编写网络扩展程序?
谢谢。
【问题讨论】:
标签: javascript firefox-addon-webextensions thunderbird
我建议您阅读 MDN for Mozilla Products。
网络扩展
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions
扩展程序向浏览器添加特性和功能。它是使用熟悉的基于 Web 的技术(HTML、CSS 和 JavaScript)创建的。它可以利用与网页上的 JavaScript 相同的 Web API,但扩展也可以访问它自己的一组 JavaScript API。这意味着你可以在扩展中做比在网页中使用代码更多的事情。 为了帮助说明如何开发扩展,我们在https://github.com/mdn/webextensions-examples 维护了一个简单示例扩展的存储库。本文介绍了该存储库中使用的 WebExtension API。
...
这些示例适用于 Firefox Nightly:大多数适用于早期版本的 Firefox,但请检查扩展的 manifest.json 中的 strict_min_version 键以确保。
如果您想尝试这些示例,您有三个主要选择:
- 克隆存储库,然后使用“加载临时加载项”功能直接从其源目录加载扩展。扩展程序将保持加载状态,直到您重新启动 Firefox。
- 克隆存储库,然后使用 web-ext 命令行工具运行安装了扩展的 Firefox。
- 克隆存储库,然后转到构建目录。这包含所有示例的构建和签名版本,因此您可以在 Firefox 中打开它们(使用文件/打开文件)并永久安装它们,就像您从 addons.mozilla.org 安装的扩展一样。
Thunderbird 扩展程序
https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_extensions
Thunderbird 入门
一位勇敢的年轻开发人员想要为 Thunderbird 开发一个插件。这些链接可帮助您完成此旅程。注意:此文档系列尚未更新到版本 60。
- 首先阅读教程并学习如何构建 Thunderbird 扩展。 (https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_extensions/Building_a_Thunderbird_extension)
- 另请参阅 Thunderbird 57-60 插件指南 (https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_57),了解 Thunderbird 60 中引入的更改。
- 阅读主窗口 (https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Main_Windows) 以了解“线程窗格”、“预览窗格”和“文件夹窗格”。
- 使用演示插件 (https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_extensions/Demo_Addon) 来练习一些更高级的 Thunderbird 特定功能
- 想要做得更多?不要重新发明轮子:从 Thunderbird-stdlib (https://github.com/protz/thunderbird-stdlib) 项目中窃取信息(此处的文档:http://protz.github.io/thunderbird-stdlib/doc/symbols/global.html)。包括处理消息的功能(删除、归档、更改标签等)。
- 还没有找到您需要的东西?阅读 Thunderbird 操作指南 (https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_extensions/HowTos);它们包含许多扩展程序想要做的事情的配方。
- 还是卡住了?在右侧的社区交流渠道中提问。
- 觉得自己真的很勇敢?使用精美的界面阅读源代码 (http://doxygen.db48x.net/comm-central/html/);您经常可以找到证明您想要达到的目标的测试。
Thunderbird 扩展开发
Thunderbird 都基于 Gecko,支持许多 Firefox 支持的 API,但有一些区别,请参阅 manifest.json 的浏览器兼容性和 JavaScript API 的浏览器支持以了解详细信息。 (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Browser_compatibility_for_manifest.json)
【讨论】: