Plugins 浏览器扩展和插件之间的技术区别是什么?

Plugins 浏览器扩展和插件之间的技术区别是什么?,plugins,google-chrome-extension,terminology,Plugins,Google Chrome Extension,Terminology,从用户的角度来看,扩展似乎是指你去Chrome网络商店来扩展浏览器的功能,而插件则是指你必须去外部第三方网站来扩展浏览器的功能 从技术或实现的角度来看,两者之间有什么区别?我在这里看到了一个类似的问题(),但没有得到我想要的答案 我关注的是扩展或插件的开发和部署方式的差异(如果有的话),以及两者之间是否存在重叠。在不同的软件产品中,“扩展”和“插件”有很多不同(但相关)的含义。许多用户(和开发人员)可以互换使用这些词。在浏览器扩展中,它们有一个精确的含义,也可以通过UI看到。例如,可在chrom

从用户的角度来看,扩展似乎是指你去Chrome网络商店来扩展浏览器的功能,而插件则是指你必须去外部第三方网站来扩展浏览器的功能

从技术或实现的角度来看,两者之间有什么区别?我在这里看到了一个类似的问题(),但没有得到我想要的答案

我关注的是扩展或插件的开发和部署方式的差异(如果有的话),以及两者之间是否存在重叠。

在不同的软件产品中,“扩展”和“插件”有很多不同(但相关)的含义。许多用户(和开发人员)可以互换使用这些词。在浏览器扩展中,它们有一个精确的含义,也可以通过UI看到。例如,可在
chrome://extensions/
,而插件可以在
chrome://plugins/
在谷歌浏览器中

在Chrome、Firefox、Opera和Safari中,浏览器扩展是指使用浏览器扩展API(请参阅扩展文档中的、、)来增强浏览器的软件。大多数现代浏览器都要求使用JavaScript编写扩展。扩展通常与平台无关,并且在有限的环境中运行(Firefox是后者的一个显著例外)。扩展通常作为一组JavaScript文件、其他资产(HTML、CSS、媒体等)和配置部署在特定于浏览器的归档中。浏览器通常提供直接在浏览器中安装扩展的无缝方式

插件指的是NPAPI插件,它是预编译的二进制文件,可通过增强浏览器的功能。通过在文档中插入具有特定MIME类型的
标记来调用这些插件。NPAPI插件是特定于操作系统的(尽管源代码可以独立于平台),但不特定于单个浏览器。NPAPI的功能不受浏览器的限制,因此浏览器插件中的错误通常具有巨大的安全隐患(想想Java、Adobe Flash Player、Adobe PDF Reader)。这就是为什么需要NPAPI支持的原因之一。NPAPI插件通常安装在浏览器之外,例如通过Windows上的MSI安装程序

正如引言中所说,“插件”和“扩展”可以互换使用。如果你听到有人谈论“(浏览器)插件”,很可能它们实际上是指浏览器扩展。

在不同的软件产品中,“扩展”和“插件”有很多不同(但相关)的含义。许多用户(和开发人员)可以互换使用这些词。在浏览器扩展中,它们有一个精确的含义,也可以通过UI看到。例如,可在
chrome://extensions/
,而插件可以在
chrome://plugins/
在谷歌浏览器中

在Chrome、Firefox、Opera和Safari中,浏览器扩展是指使用浏览器扩展API(请参阅扩展文档中的、、)来增强浏览器的软件。大多数现代浏览器都要求使用JavaScript编写扩展。扩展通常与平台无关,并且在有限的环境中运行(Firefox是后者的一个显著例外)。扩展通常作为一组JavaScript文件、其他资产(HTML、CSS、媒体等)和配置部署在特定于浏览器的归档中。浏览器通常提供直接在浏览器中安装扩展的无缝方式

插件指的是NPAPI插件,它是预编译的二进制文件,可通过增强浏览器的功能。通过在文档中插入具有特定MIME类型的
标记来调用这些插件。NPAPI插件是特定于操作系统的(尽管源代码可以独立于平台),但不特定于单个浏览器。NPAPI的功能不受浏览器的限制,因此浏览器插件中的错误通常具有巨大的安全隐患(想想Java、Adobe Flash Player、Adobe PDF Reader)。这就是为什么需要NPAPI支持的原因之一。NPAPI插件通常安装在浏览器之外,例如通过Windows上的MSI安装程序


正如引言中所说,“插件”和“扩展”可以互换使用。如果你听到有人谈论“(浏览器)插件”,很可能它们实际上是指浏览器扩展。

你在寻找什么答案?你提到的那个问题实际上与你的问题没有任何关系。@RobertHarvey我认为这个问题可以回答扩展和插件的开发和部署方式之间的区别。我更新了问题以澄清这一点。你在寻找什么答案?你提到的那个问题实际上与你的问题没有任何关系。@RobertHarvey我认为这个问题可以回答扩展和插件的开发和部署方式之间的区别。我更新了问题以澄清这一点。PPAPI如何?一般来说,我想,@Xan-NaCl是一种只使用Chrome的技术,而不是专门针对插件的。PPAPI是Chrome对NPAPI的沙盒替代品,但独立开发人员还不能使用它。好吧,OP的问题是特定于Chrome的。不过,总览不错。PPAPI呢?一般来说,我想,@Xan-NaCl是一种只使用Chrome的技术,而不是专门针对插件的。PPAPI是Chrome对NPAPI的沙盒替代品,但独立开发人员还不能使用它。好吧,OP的问题是特定于Chrome的。尽管如此,还是有一个很好的概述。