admin管理员组

文章数量:1559079

浏览器插件总体可以划分为两大阵营,即ie支持的插件以及非ie支持的插件。
本来在netscape时代,对于浏览器插件是有公用的规范的(npapi),一开始所有浏览器都支持该规范,包括ie。后来出于商业原因,微软的ie不再支持npapi,改而自己开发了一套基于com的activex体系,但这个体系对于非ie浏览器是拒绝支持的。
所以目前的状况基本是,ie浏览器仅支持activex控件,而firefox、chrome等浏览器只支持另一类接口(xpcom或npapi)。要想实现一个web插件,至少需要同时考虑ie支持的aceivex版以及非ie支持的plugin版(flash等插件对于ie与非ie浏览器都是不同的)。
国内多数浏览器的webkit内核极速模式等浏览器,与服务端是什么平台无关。
ie内核浏览器很多,主要是为了弥补ie浏览器本身功能的不足。现在或者曾经比较主流的几款ie内核浏览器(360安全浏览器、世界之窗、傲游、greenbroswer等)

一:firefox

npapi 是一个很经典的插件方案,用dll进行注入,用协定的api进行通信,用字符串描述插件能力。浏览器会根据能力描述,动态加载插件,并负责插件调用的流程和生命周期管理。而插件中,负责真实逻辑的处理,并可以构造ui与用户交流。以此类方式实现的插件系统。

在firefox提供sdk的下载(https://developer.mozilla/en-us/docs/gecko_sdk)

插件整体的实现思路就是通过插件调用ocx控件,也就是插件本身是衔接浏览器与ocx的一条桥梁,这样做就可以简单的实现非ie内核浏览器对ocx控件的支持。
firefox中支持activex控件运行的研究与实现 http://www.doc88/p-3714312872887.html
怎么做能让firefox支持activex呢?

答:两种方案:一种是使用ietab这个插件,在firefox下直接调用ie浏览器内核进行浏览;
另一种是使用npactivexplugin,让firefox直接支持activex。这两款firefox扩展的下载地址分别是http://ietab.mozdev/和http://forums.mozine/index.php?showtopic=2350,选择一款适合你自己的就可以了。

xpi是什么?

firefox中的xpi实际上类似于ie中的插件或扩展(如flash插件等).
格式一般为.zip, 由xul、javascript、css、html和图片等构成.

firefox扩展包(firefox extensions)是指对为了增强在mozilla firefox中浏览网页所做的一些小改进的名字。他们也许只是 可以为mozilla firefox增加新的功能一个小程序或者插件。您可以在extensions page上看一看各种扩展包列表。

关于扩展包的最伟大的好事则是它使得mozilla firefox小巧而不臃肿。任何人可以根据自己需要安装适当的扩展包。

==================================================================
如何安装firefox扩展文件?

扩展文件通常是xpi文件格式(以.xpi结尾).有三种安装方法:

1,直接拖拽到firefox浏览器的窗口里或扩展窗口里
2,点击 ‘菜单”–”工具”–”扩展”,把.xpi文件拖进弹出窗口里,稍后就可以看到firefox会询问你是否要安装这个插件,点击是,并重启firefox浏览器
3,鼠标右键点xpi文件,选打开方式,在打开方式里选firefox,设置关联。以后只要双击xpi文件就自动安装了
二:chrome

npapi插件开发详细记录:用vs2010开发npapi插件步骤: http://www.softwareace/?p=122
npapi插件开发详细记录:安装包的制作 http://www.07net01/program/235980.html
npapi插件开发
http://blog.csdn/rainkop/article/details/8063709
理解webkit和chromium: 插件机制(npapi plugin) http://www.ithao123/content-927701.html
基于npapi插件开发 http://www.aiuxian/article/p-1852532.html

以上文章,原文链接:http://blog.csdn/wangzhen209/article/details/50779627

现在这里有个demo可以下载:http://download.csdn/download/xuebing1995/10013980

但是这里的demo只能在chrome42以下版本能正常显示。因为chrome在42版本以后不再支持npapi,他自己开发了一个更安全的ppapi。
在此再附上一个链接供大家学习:http://wwwblogs/fangkm/p/6628425.html
详细的介绍了npapi和ppapi以及ppapi的一些特性。

本文标签: