在处理浏览器问题的时候,经常会接触到这些名词,大多时候都是混着用的,这样子其实并没有真正理解这些名词指代的是什么东西,也不好具体定位问题原因的。我根据自己使用浏览器的经验,说说我的理解的这些东西的区别。
首先对照一下中文和英文。
控件——ActiveX
插件——Plugin
附加组件——Addon
扩展——Extension
应用——App
再来对其进行分类,两个分类标准:
1、按照服务对象区分:
服务IE:ActiveX
服务其它非IE内核浏览器:Plugin、Addon、Extension、App
2、按照安装方式区分
由外而内:ActiveX、Plugin
由内而外:Addon、Extension、App
由内而外和由外而内是什么区别呢?简单点说就是这个东西是不是“外挂”,由外而内的就是“外挂”啦。
即使你没有安装浏览器,你也可以进行安装ActiveX和Plugin,因为他们是不依附于浏览器而独立存在的,是通过注册了一些文件,以“外挂”的形式来提供给浏览器进行调用,所以说是“由外而内”。当然,如果你不安装浏览器的话,你装这些东西也没什么实际意义。
而Addon、Extension、App之类则是离开了浏览器就死了。如果没有相应支持的浏览器的话,这些东西都不能安装,更谈不上运行,他们是建立在浏览器本身的架构上的“增值”功能,所以说是“由内而外”。
但是很多国内用户其实并不对这些进行区分,而是统称为插件,所以问题就来了。比如有些用户没有安装Adobe Flash Player插件而无法正常播放视频,这个时候如果到各个浏览器的Addon、Extension、App库里面去找,是找不到这个插件的。当然,这个例子举得不是很恰当,因为现在手边暂时没有很好的例子。
有必要区分得那么细那么麻烦吗?其实没有必要。简单一点,就按照安装方式区分为两类。
1、ActiveX和Plugin=插件,这个应该也是大家最常说的了,比如Adobe Flash Player“插件”,不过记得区分IE内核版本(ActiveX)和非IE内核版本(Plugin)就是了。
2、Addon、Extension、App=扩展应用。
PS:一些小边边
1、ActiveX和Plugin
其它浏览器都支持NPAPI(Netscape Plugin Application Programming Interface),IE曾经也支持过,但是后来却非要使用自己一套的ActiveX,这个你懂的。另外,如果你观察过,大部分的非IE内核浏览器的插件都是以NP开头的,比如Adobe Flash Player是npswf32,淘宝的安全输入插件是npaliedit.dll,这样看文件名应该很容易知道是什么插件了吧?
2、Addon、Extension、App
Addon是属于Mozilla系浏览器的,中文名字叫做附加组件,火狐用户应该很熟悉。
Extension现在就很常见了,新版的Mozilla Firefox、Google Chrome、Opera都是用的这个名称,中文名称叫做扩展/扩展程序。
App可以看作增强版的Extension,现在Google Chrome里面的很多游戏就归属于这个分类。
3、其他IE内核浏览器的“插件”
IE内核浏览器很多,主要是为了弥补IE浏览器本身功能的不足。现在或者曾经比较主流的几款IE内核浏览器(360安全浏览器、世界之窗、傲游、GreenBroswer等)都有自己的“插件”支持,支持很多增强的功能,比如广告过滤、下载、截图等等。So,很明白了,这些“插件”其实就是扩展应用咯~