非IE内核浏览器支持activex插件
来源:互联网 发布:java获取泛型类型 编辑:程序博客网 时间:2024/05/10 09:34
之前在一个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安装包。在项目中可以直接让用户下载安装。
安装效果图:
- <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>
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器支持activex插件
- 非IE内核浏览器如何支持activex插件
- 非IE内核浏览器支持Active X控件
- NPAPI插件开发学习:实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用
- 开发人员为什么要支持非IE浏览器的四个故事
- 基于ie内核,浏览器自带flash插件
- 日期格式的转换
- 3.22
- maven+spring4+spring mvc4
- Windows API 函数GetVersionEx 获取系统版本出错
- Web启动错误Failed to obtain BeanInfo for class [freemarker.template.Configuration]; nested exception is
- 非IE内核浏览器支持activex插件
- Single Number--LeetCode
- 单行 - JAVA 条件表达式
- ubuntu 下的java反编译工具,jad
- 20150401:ping不通 Linux主机 与 开发板Linux
- POJ2001--Shortest Prefixes
- 插入排序
- TestNG 基础用法
- 最近在研究HaarCascade发现的几个小问题