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

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

之前在一个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

以下是本人联系方式,欢迎大家多多交流

qq:1172494835

email:xhanhan@126.com

目录
相关文章
|
9天前
|
开发者
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
查看edge浏览器插件的安装位置并将插件安装到别的浏览器
18 1
|
2月前
|
Web App开发 JavaScript 前端开发
从零开始,轻松打造个人化Chrome浏览器插件
从零开始,轻松打造个人化Chrome浏览器插件
67 0
|
2月前
|
数据采集 Web App开发 JSON
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
本文以百度为实战案例演示使用WebScraper插件抓取页面内容保存到文件中。以及WebScraper用法【2月更文挑战第1天】
115 2
浏览器插件:WebScraper基本用法和抓取页面内容(不会编程也能爬取数据)
|
2月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
38 0
|
4月前
ElasticSearch-Head浏览器插件离线安装
ElasticSearch-Head浏览器插件离线安装
91 0
|
3月前
|
Web App开发 前端开发
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
152 0
|
30天前
|
人工智能 搜索推荐 Linux
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
一个集 AI + 工具 + 插件 + 社区为一体的Arc 浏览器风格AI客户端
178 0
|
1月前
|
前端开发 JavaScript 程序员
推荐给前端程序员的5款浏览器插件
推荐给前端程序员的5款浏览器插件
|
1月前
|
存储 机器人
在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
【2月更文挑战第28天】在阿里云RPA中,你可以通过以下步骤来更改默认唤醒IE浏览器的地址
19 1
|
1月前
|
Web App开发 JavaScript 前端开发
分析网站架构:浏览器插件
分析网站架构:浏览器插件
39 1