我是JavaScript /网络扩展的新手,有人可以告诉我网络扩展的工作原理吗?以及如何为自己编写一个Web扩展程序?
谢谢。
答案 0 :(得分:1)
我建议您阅读Mozilla产品的MDN。
WebExtensions
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 60中引入的更改,另请参见Thunderbird 57-60附加组件指南(https://wiki.mozilla.org/Thunderbird/Add-ons_Guide_57)。
- 了解主窗口(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)中窃取。包括处理消息的功能(删除,存档,更改标签等)。
- 没有找到您需要的?阅读雷鸟操作方法(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)