Firefox 附加组件、扩展、插件
我想为 Firefox 编写脚本。 Firefox 似乎有不同的术语,例如附加组件、扩展、插件。我有一种感觉,他们并不完全相同。你能用几句话概括一下两者的区别吗?
I want to write scripts for firefox. It seems that firefox has different terms, like add-on, extensions, plugins. and I have a feeling they're not all the same. Can you sum up the difference between in a few words?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
附加组件:本质上是任何可以安装到浏览器中的东西。这包括例如扩展、主题、插件、词典、语言包、搜索引擎。
扩展:扩展浏览器功能的包,Firefox 使用的扩展格式仅适用于基于 Gecko 的浏览器。
扩展通常使用 XUL 和 CSS 作为其用户界面,并使用 JavaScript 来执行动态操作。他们拥有对 XPCOM 的完全访问权限,并且还可以提供自己的 XPCOM 组件。最近添加了附加 SDK 作为生成简单扩展的替代方法,它使用 HTML 而不是 XUL,但限制了浏览器用户界面可显着扩展的方式。从 Firefox 57 开始,所有扩展都必须基于 WebExtensions API。插件:指除 Internet Explorer 之外的所有浏览器都支持的 NPAPI 插件(后者使用专有的 ActiveX)技术来代替)。此类插件是二进制库,如果网站使用
或
Add-on: essentially anything that can be installed into the browser. This includes for example extensions, themes, plugins, dictionaries, language packs, search engines.
Extension: a package extending browser functionality, the extension format used by Firefox works in Gecko-based browsers only.
Extensions typically use XUL and CSS for their user interface as well as JavaScript for dynamic actions. They have full access to XPCOM and can provide their own XPCOM components as well. Recently the Add-on SDK has been added as an alternative way to generate simple extensions, it uses HTML instead of XUL but limits the ways in which the browser's user interface can be extended significantly.As of Firefox 57, all extensions have to be based on the WebExtensions API.Plugin: means NPAPI plugins that are supported by all browsers but Internet Explorer (the latter uses the proprietary ActiveX technology instead). Such plugins are binary libraries that are invoked if a website uses an
<embed>
or<object>
tag with a type that is handled by the plugin. The plugin can either draw some content for the tag (windowed plugins) or stay in background and simply provide an API for the webpage's JavaScript code to use (windowless plugins). Typical examples are Flash or Silverlight. Support for plugins is being phased out, as of 2018 Flash is the only plugin still supported to some degree.补充上面有用的答案,我发现这个高级总结很有帮助:
(来自 http://en.wikipedia.org/wiki/Plug-in_(computing) )
Augmenting the useful answer above, I found this high-level summary helpful:
(from http://en.wikipedia.org/wiki/Plug-in_(computing))
根据火狐浏览器:
扩展为 Firefox 添加新功能或修改现有功能。有些扩展允许您阻止广告、从网站下载视频、将 Firefox 与 Facebook 或 Twitter 等网站集成,以及添加其他浏览器中包含的功能,例如翻译器。
插件添加了对各种互联网内容的支持。这些通常包括用于视频、音频、在线游戏、演示文稿等的专利格式,例如Flash。插件由其他公司创建和分发。
它们是 - 扩展、Plugnis、主题、搜索引擎和词典。语言包。
来源:Firefox - https://support.mozilla.org/en-US/kb/find-and-install-add-ons-add-features-to-firefox
According to Firefox:
Extensions add new features to Firefox or modify existing ones. There are extensions that allow you to block advertisements, download videos from websites, integrate Firefox with websites like Facebook or Twitter and add features included in other browsers, such as translator.
Plugins add support for all kinds of Internet content. These usually include patented formats like Flash that are used for video, audio, online games, presentations and more. Plugins are created and distributed by other companies.
They are - Extensions, Plugnis, Themes, Search engines and Dictionaries & Language Packs.
Source: Firefox - https://support.mozilla.org/en-US/kb/find-and-install-add-ons-add-features-to-firefox
扩展上述扩展
是为了扩展软件的功能
插件是用来解决软件问题的(能够做一些它原本设计要做的事情)。
两种类型都扩展了程序能力,
...我想这就是为什么它会如此令人困惑。
扩展可以(并且通常是)制作软件的公司的一个选项(通常需要花钱),
插件可以来自制作软件的公司或第三方,以向软件添加功能。
Extending the Augmentation above
Extension(s) is ment to extend the functionality of software
where a plug-in is ment to solve a problem of the software (to be able to do something it wasent designed to do already).
both types extends the program abilitys,
... and i guess this is why it can be so comfusing.
An Extension can be (and often are) a(n) option from the company that made the software (Usually cost money),
a plug-in can be from the company that made the software or a third party to add abilities to the software.