在处理浏览器问题的时候,经常会接触到这些名词,大多时候都是混着用的,这样子其实并没有真正理解这些名词指代的是什么东西,也不好具体定位问题原因的。我根据自己使用浏览器的经验,说说我的理解的这些东西的区别。

    首先对照一下中文和英文。

    控件——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,很明白了,这些“插件”其实就是扩展应用咯~