博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非IE内核浏览器支持activex插件
阅读量:6257 次
发布时间:2019-06-22

本文共 1292 字,大约阅读时间需要 4 分钟。

之前在一个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的下载()
插件整体的实现思路就是通过插件调用OCX控件,也就是插件本身是衔接浏览器与OCX的一条桥梁,这样做就可以简单的实现非ie内核浏览器对OCX控件的支持。
经过一个多礼拜的开发,插件功能已经基本实现。并且为了方便使用已经打包成exe安装包。在项目中可以直接让用户下载安装。
安装效果图:

 

安装完成后,可以打开火狐浏览器在地址栏输入about:plugins,查看插件是否正确安装,
如下图所示,已经安装成功
下面测试一下插件效果,首先找一个可用的activex控件(本人用自己写的插件测试)html页面代码
 
Html代码  
  1. <HTML>    
  2. <H1> 测试页面 </H1><p>    
  3. 测试页面    
  4. <HR><center><P>    
  5. <br>    
  6.     <object    
  7.         id="Webplugin"    //ocxid    
  8.         TYPE="application/xhanhan-activex"      
  9.         BORDER="0"    
  10.         WIDTH="300"    
  11.         HEIGHT="300"    
  12.         clsid="{A2DC9F0E-1A2D-4C6D-BB2E-053BABE17134}"> //ocx插件id    
  13.     </object>    
  14.     
  15. </HTML>    
 
将以上代码保存为html文件然后用火狐打开,效果如下图
 
 
可以看到activx控件已经可以在火狐下运行。目前插件已经在xp,vista、win7、win7(64)、windows server2003、
windows server2008等操作系统,以及火狐、Google Chrome、Opera、Apple Safari、遨游极速模式、360急速模
式下通过测试。支持市面上大部分主流浏览器。
 
参考源码:http://code.google.com/p/ff-activex-host/source/checkout

转载地址:http://gdnsa.baihongyu.com/

你可能感兴趣的文章
springCloud(17):统一管理微服务配置-简介
查看>>
WAS 管理节点和node同步报错
查看>>
微软MCITP系列课程(十四)搭建DNS服务器
查看>>
android rom移植知识普及
查看>>
精简SQL语句 提高MySQL服务器的扩展性
查看>>
SQL Server事务日志在修改数据时的角色
查看>>
全面替代nagios,打造高效监控报警系统-Centreon(第一部分:系统安装)
查看>>
jvisualvm 无法下载插件解决方案
查看>>
Android NDK开发_C++多文件
查看>>
SEO Drupal .htaccess 文件(适合multi-site)
查看>>
python向文件写入非打印字符
查看>>
让jquery easyui datagrid列支持绑定嵌套对象
查看>>
DLL
查看>>
php中计算中文字符串长度、截取中文字符串
查看>>
android 屏幕适配
查看>>
trimpath javascript的学习
查看>>
PERL Net::SMTP
查看>>
shedloads 大量 2016-10-02
查看>>
用explain 对sql语句进行优化 建议用多对一的方式查询
查看>>
Maven经验分享(一)安装部署
查看>>