原创技术分析:更深层探究 Mozilla Firefox 扩展和插件的区别 Recommend to my friend via E-mail(推荐给朋友)

作者 Administrator, 发布于 28-09-2007 10:26

查看资源 : 234    

投票 : 无

发布在 : 浏览器使用常见问题, 火狐浏览器[Firefox]


cnBeta的这篇文章提到了在Firefox/Mozilla浏览器中所谓扩展(extensions)和插件(plugins)的区别.其实Firefox(Mozilla)扩展和插件在各方面都是不一样的,具有完全不同的来源、用途和存在形式.首先Mozilla的所谓


这篇文章提到了在Firefox/Mozilla系浏览器中所谓扩展(extensions)和插件(plugins)的区别.
其实Firefox(Mozilla)扩展和插件在各方面都是不一样的,具有完全不同的来源、用途和存在形式.
首先Mozilla的所谓“插件”,具有非常长的历史.它使用一种来自Netscape时代的古老插件API——NPAPI(Netscape Plugin Application Programming Interface), 最初是Adobe的Acrobat部门和Netscape合作,为了在Netscape内显示PDF文件而开发出来的一种插件系统.最初它与浏览器的交互 必须有Java的支持,之后则使用自己的所谓跨平台的XPCOM API模型.

这种插件系统并非跨平台,每个平台的文件格式都有所不同.(参考http: //developer.mozilla.org/en/docs/Gecko_Plugin_API_Reference:Plug-in_Development_OvervIEw) 比如Flash插件,Windows平台下文件名为NPSWF32.dll,是一个Win32 DLL;Mac OS 9下文件名为Flash Player NP-PPC,也是一个动态链接库类型的文件(OS X下文件名类似,但代码部分格式为Mach-O);Linux下名为libflashplayer.so和flashplayer.xpt,是所谓的共享对象文件,等等.

NPAPI经过长期修正,并由Mozilla牵头增加了新的npruntime脚本API,现在已经相当成熟,现在除了Windows平 台上的IE之外几乎所有浏览器(所有Mozilla/Netscape系浏览器、Opera、Safari、Konqueror等)都使用这种插件架构(IE在5.5SP2以前也曾经通过plugin.ocx ActiveX提供过对NPAPI插件的支持,后因“安全原因”废止). 它是一种纯粹的二进制可执行插件,通常是为了支持网页中出现的<object>和<embed>标签中定义的对象而存在,不会增 加浏览器自身的任何功能.而且由于他们的运行权限和浏览器本身相同,因此一旦出错,就可以将浏览器拖死(比如Quicktime for Windows经常导致Firefox非法操作之类常见问题).在Mozilla系列浏览器中,可以通过输入about:plugins查看所有已经启用 的插件信息.

而Firefox及一切Mozilla程序的所谓扩展,和插件的概念大不一样.Mozilla扩展并不是真正的本地代码,而只是使用JavaScript语言编制,使用和各主要Mozilla程序一样的所谓XUL(一种基于XML的用户界面脚本语言)编制界面,通过XPCOM 的XPConnect API与浏览器实现交互.这样使得它具有相当高的跨平台可用性,而且因为它完全在浏览器的JavaScript引擎中运行,使得浏览器能够控制他们的行 为,减少扩展出错导致整个浏览器出错的可能性.

对XUL的依赖使得它只被Mozilla系浏览器支持,在XUL支持不完全的部分此类浏览器(如K- Meleon)中得不到完整的支持.当然,XUL也是个可移植的平台,甚至有XULRunner这类独立的扩展运行环境的存在.

通常在Mozilla系浏 览器中,扩展能做到的事情非常多,能够显示和控制自己和整个浏览器的用户界面,可以直接使用浏览器的功能实现自身与网络的通讯、可以通过XPCOM对浏览 器的渲染引擎进行操作,其用途远远比插件宽泛.扩展自身是.xpi安装包,包含所有组件文件和安装脚本,安装后一般不是单一的文件.

这两 类插件在能力上都无法真正和ActiveX相比,后者在Windows中神通广大,作用范围遍及整个Win32子系统,而对于前者,插件可以执行浏览器以 外的代码,扩展不能对运行环境外部造成除了浏览器本身功能之外的其它影响.目前恶意的NPAPI插件数量极少,而扩展(Firefox中)目前基本上都是 Mozilla的官方站点提供下载,几乎不可能出现恶意扩展;而大量的ActiveX控件却是所谓的“流氓软件”.

http://yksoft1.spaces.live.com/blog/cns!66B9967EC9D22DD4!362.entry




最新更新 : 30-10-2007 21:52

   

用户评论  RSS订阅评论
 

平均用户评级

   (0 vote)

 


添加评论
名字
E-mail
标题  
 
评论
 
最大字符: 600
   有后续评论时通知我
  随机问题:
XCD         K5A      
  7    4      7   Y25
  4   E1Q     O      
  2    O      7   M1X
  W           I      
   
   

暂无评论

 
下一篇 >

本站推荐Firefox

马上下载 Firefox 您就可以享用:


  • 标签式的浏览:在一个窗口同时浏览多个页面,让您节省时间
  • 弹出式窗口拦截器:拦截恼人的弹出式窗口广告
  • 更好的安全保障:预防恶意的黑客软件-保全您的计算机
  • Google 工具列:立即将英文字词翻译成简体中文

下载带有Google工具栏的Firefox

RSS新闻供稿

技巧

火狐终极优化Firefox Ultimate Optimizer v1.0试用

一个FireFox的优化程序,点击它自动在任务栏运行,软件称可以减少内存和系统的占用,在进程表中的确发现占用明显减少,大家自行测试.绿色免费版!下面让我们看看评测的结果。在原来的Firefox下,打开7个国内有名的站点(见图),在P4 2.0G,512M环境下,内存占用为109,648K,虚拟内存为107,212K。     更多

FAQs

Firefox新漏洞可被黑客利用

黑客可以通过这个漏洞创建一个HTML文件,当访问者使用Firefox访问这个页面时候,就会被黑客获得自己机器上的一些文件和信息,甚至能对受害者机器上的一些内容比如Windows窗口标题进行修改。除了Windows版本之外,使用gnome-vfs Linux系统的机器也会受到次问题的影响     更多

其它

网页浏览器群雄争霸,最终将鹿死谁手呢?

Firefox、Opera和Netscape的支持率从“数字”上看也有了更佳的表现:Firefox占51%,Opera占14%,而Netscape也占了9%。需要说明的是,Firefox获得了超过一半的网友的支持并不表明其在国内网页浏览器市场已经所向披靡     更多