3月 272011
 

插件与扩展是完全不同的东西。

插件(Plugins/Plug-ins):

它通常是第三方应用程序提供给firefox使用的二进制文件。也就是说第三方应用程序把相关功能编译成了二进制的机器指令提供给各类浏览器,方便它们调用。
Firefox需要显示某些自身并不能显示的特定文件类型的时候,就会调用与之相关的第三方应用程序提供给firefox的插件来显示它。插件的作用也在于此。

windows下的firefox插件通常是dll格式,linux下的通常是so格式。

例 如,Adobe提供给firefox的插件“Adobe reader”使其能直接在浏览器里显示网络上的pdf文档,而Adobe提供给firefox 的另一个插件“Adobe shockwave flash”则使其能显示网页中嵌入的flash。Microsoft提供的 “Windows media player firefox plugin”使firefox能播放网页中嵌入的windows媒体(wmv、wma、 asf以及对应的播放列表格式)。

扩展(extensions):

它通常是扩展开发者为了修改或者增强firefox本身的功能而提供的一种打包格式。它通常由包含功能代码的js脚本、包含界面的xul文件以及包含皮肤的css文件和各种图像文件组成。少数特定平台下的扩展可能还会附带一些二进制文件。

扩展的格式都是xpi后缀的。其实是zip格式打包的。

常见的扩展有noscript、adblock plus等。

从形式上讲:插件是已经将代码编译成了机器指令的二进制文件,而扩展是一个源码包。
从作用上讲:插件是为了让firefox能够显示特殊格式的文件而由相应的第三方应用程序(如 windows media player 和 Adobe reader)提供的;而扩展是为了修改或增强firefox本身的功能而由扩展开发者提供的。
从字面意思上讲:插件(plug-ins)的plug是插的意思,一个由外至内的动作;扩展(extensions)的extension是延伸、扩充的意思,一个由内而外的动作。
也就是说:插件是“外部”的,而扩展是“内部”的。

Mozilla文章参考:
http://www.mozilla.org/projects/plugins/
https://developer.mozilla.org/en/Plugins
https://developer.mozilla.org/en/Extensions

 Posted by at 上午 7:49

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(required)

(required)

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据