非IE内核浏览器支持activex插件
之前在一个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
[Chrome,Flash,浏览器,BLOB,DNS]Chrome浏览器内部协议Chrome://收集 Chromium 采用 Chrome:// 协议开头的形式, 规定了一系列的内部协议, 有的用来显示数据, 有的用来实现一些功能, 但对普通用户进行了屏蔽。在Chrome浏览器地址栏直接访问就好了! chrome://bookmarks 收藏管理器
Windows10更新1903后,chrome内核浏览器打开网页链接错误 百度的解决方法普遍不管用,于是只好求助Google这次国外水友水平好像高一些,提供一个新方法,也许可以解决你的问题这个问题应该是出现 Cryptographic Services 服务的权限上1、打开服务管理面板:Win+R,输入 services.
2018-07-10 为Chrome和火狐浏览器编写扩展 为Chrome和火狐浏览器编写一个简单的扩展, 使用中文命名. Use Chinese naming when developing a simple extension for Chrome/Firefox.
相关文章
- 内核不中断前提下,Gaussdb(DWS)内存报错排查方法
- 内核中通过进程PID获取进程的全部路径
- 内核知识第四讲,简单的认识内核函数.以及调试驱动技巧
- [svc]linux内核参数
- python selenium中如何测试360等基于chrome内核的浏览器
- 第三章 dubbo内核之ioc源码解析
- 【Linux】《Linux 内核设计与实现》笔记
- 开启Chrome内核浏览器的多线程下载功能
- 【原创】某驱动的内核调试检测学习内核调试引擎加载机制
- 嵌入式操作系统内核原理和开发(cpu的那些事)
- 想了解浏览器内核
- 【蜂鸟E203内核解析】Chap.3 自定义指令与协处理器设计
- 浅谈关于QT中Webkit内核浏览器
- IRP IO_STACK_LOCATION 《寒江独钓》内核学习笔记(1)
- UNIX内核(1):加锁解锁——等待事件及唤醒
- 自制国产精简内核 vnRTOS 第 3 节 让内核跑起来
- js判断浏览器的内核和是否支持某些CSS3属性
- uboot引导linux内核过程详解【转】