https://github.com/mdn/webextensions-examples
由Mozilla的附件团队维护。
Webextensions是编写浏览器扩展程序的一种方法:也就是说,安装在Web浏览器中的程序,以修改浏览器加载的浏览器或网页的行为。 Webextensions建立在一组跨浏览器API上,因此在大多数情况下,为Google Chrome,Opera或Edge编写的Webexensions也将在Firefox中运行。
“ Webextensions-examples”存储库是简单,完整和可安装的Webextensions的集合。示例显示了如何使用Webextensions API,您可以将它们用作Webextensions的起点。
有关所有示例的索引,请参见MDN上的“示例扩展”页面。
这些示例可根据Mozilla公共许可证2.0提供。
要使用存储库,请首先克隆它。
每个示例都在一个顶级文件夹中,并包含一个简短的读数,以解释它的作用。要查看示例的工作原理,请按照安装说明将其安装在Firefox中。
要在Webextension的内部结构中找到自己的方式,请查看MDN上的Webextension页面的解剖结构。
要在Firefox中使用这些示例,请使用Firefox的最新版本。但是,大多数示例都可以使用较早的版本。
一些示例依赖于仅在释放版本的Firefox中可用的API。在这种情况下,该示例会在browser_specific_settings key
的strict_min_version
属性中声明所需的最小版本。
一些示例仅在特定域或页面上起作用。每个示例的读数文件中提供了任何限制的详细信息。默认情况下,这些示例均未在私人浏览窗口中使用,请参阅私人浏览中的扩展程序以获取详细信息。
运行一个示例扩展:
about:debugging
页面。单击加载临时附加组件,然后在示例扩展程序的文件夹中选择manifest.json
文件。这是一个展示如何执行此操作的视频。web-ext run
。这将启动Firefox并自动安装扩展名。该工具提供了一些其他开发功能,例如自动重新加载。 这些示例在Firefox中进行了测试。如果浏览器支持所使用的API,它们可能会在其他浏览器中工作。请注意,这些示例都使用browser
名称空间,并承诺可以使用异步功能。这意味着除非您使用Mozilla提供的多填充,否则这些示例在Chrome中无法使用。有关更多信息,请参见Webextension API的概述。
要了解有关开发Webextensions的更多信息,请参阅MDN上的Webextensions文档,以获取入门指南,教程和完整的API参考文档。
如果您遇到问题:
如果您无法解决问题,请提交错误。
我们欢迎贡献,无论是新示例,新功能,错误修复还是可本地化字符串的翻译。有关更多详细信息,请参阅contruting.md文件。