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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…