原文地址:https://blog.csdn.net/johnson2008t/article/details/46126605

之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义。最后决定使用activex技术来实现。众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持。像firefox(火狐)、Chrome、Apple Safari等非ie内核浏览器都不支持activex控件,这样就大大加大了系统使用的局限性。

因此考虑是不是可以让非ie内核浏览器也能支持activex控件,目前火狐等浏览器也有类似于activex控件的技术,那就是插件。所以最终决定以插件来作为连接activex的纽带,使非ie内核浏览器也可以支持activex控件。

确定了开发内容后,接下来就是上网了解相关方面的知识和技术。了解了NPAPI技术

NPAPI全称为:Netscape Plugin Application Programming Interface (NPAPI).

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

在firefox提供SDK的下载(https://developer.mozilla.org/en-US/docs/Gecko_SDK

插件整体的实现思路就是通过插件调用OCX控件,也就是插件本身是衔接浏览器与OCX的一条桥梁,这样做就可以简单的实现非ie内核浏览器对OCX控件的支持。

经过一个多礼拜的开发,插件功能已经基本实现。并且为了方便使用已经打包成exe安装包。在项目中可以直接让用户下载安装。

安装效果图:

安装完成后,可以打开火狐浏览器在地址栏输入about:plugins,查看插件是否正确安装,
如下图所示,已经安装成功

下面测试一下插件效果,首先找一个可用的activex控件(本人用自己写的插件测试)html页面代码
<HTML> 
<H1> 测试页面 </H1><p> 
测试页面 
<HR><center><P> 
<br> 
<object 
id="Webplugin" //ocxid 
TYPE="application/xhanhan-activex" 
BORDER="0" 
WIDTH="300" 
HEIGHT="300" 
clsid="{A2DC9F0E-1A2D-4C6D-BB2E-053BABE17134}"> //ocx插件id 
</object>

</HTML> 
将以上代码保存为html文件然后用火狐打开,效果如下图

可以看到activx控件已经可以在火狐下运行。目前插件已经在xp,vista、win7、win7(64)、windows server2003、
windows server2008等操作系统,以及火狐、Google Chrome、Opera、Apple Safari、遨游极速模式、360急速模
式下通过测试。支持市面上大部分主流浏览器。
目前安装包已经上传至下载频道
地址:http://download.csdn.net/detail/xhanhan/4544576

非IE内核浏览器如何支持activex插件的更多相关文章

  1. 非IE内核浏览器支持activex插件

    之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义.最后决定使用activex技术来实现.众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持 ...

  2. 谷歌 不支持 activeX插件

    因为Chrome浏览器42以上版本已经陆续不再支持NPAPI插件,也就是说,目前的迅雷插件.FLASH插件.支付宝插件.阿里旺旺插件.百度贴吧.网银等网站都受到一定程度的影响,本文分享给大家如何让谷歌 ...

  3. 关于Firefox浏览器如何支持ActiveX控件,一个小的Hellow World

    今天尝试开发一个Firefox的插件.虽然比较简单,网上也有很多教程,但是感觉一些教程写的比较麻烦,在初步的开发过程中并没有用到那些东西,于是自己把开发过程记录下来.我是根据Mozilla官方教程开发 ...

  4. delphi非IE内核浏览器控件TEmbeddedChrome下载|TEmbeddedChrome代码

    下载地址: 点击下载 代码示例: 在TForm的oncreate方法中写入一些代码 procedure TForm1.FormCreate(Sender: TObject); begin Chromi ...

  5. (随手记)Javascript 的parseInt函数,在IE和非IE内核浏览器运行的不同结果

    一段JS小程序: var str = "09"; var itr = parseInt(str); alert(itr); IE下运行,alert(0); 火狐和chrome下运行 ...

  6. javascript检测ActiveX插件是否安装/启用

    本文主要提供在IE浏览器下检测ActiveX插件安装/启用的状态. 在一些应用开发中,需要用到一些第三方提供的ActiveX插件,如Flash插件. 为了在未安装插件的浏览器显示友好的提示,需要用到主 ...

  7. Web标准的简单理解 不同内核浏览器的差异以及浏览器渲染简介(转)

    Web标准是一系列标准的集合.这些标准大概分三方面:结构.表现和行为.结构化主要有HTML, XHTML和XML,表现主要有CSS,行为标准主要包括对象模型,如 W3C DOM.ECMAScript等 ...

  8. B/S(WEB)系统中使用Activex插件调用扫描仪实现连续扫描并上传图像(IE文件扫描并自动上传)

    IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同.文件.资料等)扫描并将扫描图像保存到服务器,可以用于合同管理.档案管理等. 通过插件方式调用扫描仪扫描并获取图 ...

  9. NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用

    一.Netscape Plugin Interface(NPAPI) 大致的说明可以看下官方文档Plugin 本文主要针对于JavaScript与插件交互部分做一些交流,比如用于数字证书的操作(淘宝和 ...

随机推荐

  1. <mvc:annotation-driven />做了什么

    <mvc:annotation-driven /> 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案.<mvc:annotation-dri ...

  2. sql server 将字符串分割成表函数 strsplitetotable

    在sql server里,调用存储过程时,经常需要将数据拼成字符串做为参数调用存储过程,而在储存过程中分割字符串虽然简单但麻烦,封装了该函数,可以将拼串分割成内存表返回,方便使用,返回的表字段从a,b ...

  3. 【泛型】Generic 参数化类型 类型转换

    参考: http://blog.csdn.net/lonelyroamer/article/details/7864531#comments http://blog.csdn.net/lonelyro ...

  4. Template Method 模板方法 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. .Net垃圾收集机制—了解算法与代龄

    垃圾收集器在本质上就是负责跟踪所有对象被引用到的地方,关注对象不再被引用的情况,回收相应的内存.在.NET平台中同样如此,有效的提高.NET垃圾回收性能,能够提高程序执行效率. 其实垃圾收集并不是伴随 ...

  6. 【翻译自mos文章】CRS显示 正在执行的db instance 是offline状态

    CRS显示 正在执行的db instance 是offline状态 转自: CRS shows Running Instance Status as OFFLINE (Doc ID 1673397.1 ...

  7. [Backbone]6. Collections.

    Define a collection: var AppointmentList = Backbone.Collection.extend({model: Appointment}); RESET t ...

  8. [Backbone]1. Module, View classed

    Welcome to the Anatomy of Backbone.js challenges! We're going to be building a simple Appointment ap ...

  9. Python模拟登录wap版百度贴吧+自己主动回贴

    模拟登录的原理都差点儿相同.大致都是这样: 打开首页获取相关cookie: 提交登陆表单(即username与password). 确认是否登录成功. 假设想了解更具体的原理与相关知识,推荐到具体解释 ...

  10. GIS专业书籍、文档、数据、网站、工具等干货

    整理.分享一些个人整理的GIS专业书籍.文档.数据.网站.工具等.也希望大家将自己的心得也分享出来,一起交流,共同进步. 如果下载链接失效,请到这里去:地信网 一.原理应用类 GIS基础类 01.地理 ...