非IE内核浏览器支持Active X控件

时间:2024-02-23 10:55:24

浏览器插件总体可以划分为两大阵营,即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.org/en-US/docs/Gecko_SDK

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

答:两种方案:一种是使用IETab这个插件,在Firefox下直接调用IE浏览器内核进行浏览;
另一种是使用npActivexPlugin,让Firefox直接支持ActiveX。这两款Firefox扩展的下载地址分别是http://ietab.mozdev.org/http://forums.mozine.cn/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.cn/?p=122
NPAPI插件开发详细记录:安装包的制作 http://www.07net01.com/program/235980.html
NPAPI插件开发
http://blog.csdn.net/rainkop/article/details/8063709
理解WebKit和Chromium: 插件机制(NPAPI Plugin) http://www.ithao123.cn/content-927701.html
基于NPAPI插件开发 http://www.aiuxian.com/article/p-1852532.html

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

现在这里有个demo可以下载:http://download.csdn.net/download/xuebing1995/10013980
这里写图片描述
但是这里的demo只能在Chrome42以下版本能正常显示。因为Chrome在42版本以后不再支持NPAPI,他自己开发了一个更安全的PPAPI。
在此再附上一个链接供大家学习:http://www.cnblogs.com/fangkm/p/6628425.html
详细的介绍了NPAPI和PPAPI以及PPAPI的一些特性。