目录
技术背景
自从发表了《一种全新的浏览器加载控件的技术》博文后,很多人私信,有没有办法把IE浏览器时代的ActiveX插件搬到谷歌、Edge、火狐等浏览器。从实现效果来看,使用《一种全新的浏览器加载控件的技术》是可以做到的,除了有点费CPU,其它效果还是相当不错的。但这并不是解决ActiveX插件上浏览器的最优解。
通过了解国内浏览器插件中间件产品,本人认为普遍存在以下三个问题:
1、插件容器窗口只能简单的按照指定位置嵌入浏览器,无法做到插件与浏览器页面整体布局在浏览器任意缩放比例及大小变化时正常显示。
2、集成困难,不能提供ActiveX或NPAPI原生接口调用方式,普遍采用WebSocket协议,异步调用插件容器接口,而非ActiveX或NPAPI原生接口。普遍未提供ActiveX或NPAPI原生事件。导致系统升级改造非常困难,必须根据插件中间件提供的接口,全面改造。
3、实用性差,针对每个浏览器插件,需要单独提供不同的插件容器中间件。
因此,急需一种适合ActiveX及NPAPI插件技术的中间件产品,助力ActiveX及NPAPI插件在谷歌、火狐等浏览器上使用的。
全新的技术方案
通过不断研究谷歌、火狐源代码及浏览器H5技术,本人发现了一种页面元素定位控制插件容器窗口的方法,实现插件容器与页面整体布局无缝衔接。核心思路是在浏览器页面插入一个定位元素,通过H5技术计算定位元素在浏览器页面的位置,然后将插件容器窗口放到定位元素位置。当页面缩放比例或大小发生变化时,重复上述步骤。如此这般,即可实现插件容器窗口与页面整体布局无缝衔接。这绝对是首创!
为了方便用户集成,减少用户学习的时间。通过大量的试验,我们实现了通过javascript封装ActiveX或NPAPI原生接口,用户业务系统调用javascript封装类接口,就像调用浏览器ActiveX或NAPAI插件接口一样,做到用户业务系统小调整,即可实现业务系统升级改造,后续我们将通过VLC ActiveX 插件的例子进行讲解。
同时,我们深入研究ActiveX插件、COM技术及NPAPI插件原理,查阅谷歌、火狐等浏览器插件相关开源代码,攻坚克难,实现了一个插件容器程序,加载所有ActiveX插件,无需为每个ActiveX插件提供不同的插件容器程序。
allWebPlugin 中间件
按照上述全新技术方案,我们团队历时3年,3次推倒重来,数十次架构调整,开发了一套allWebPlugin 中间件产品,实现所有ActiveX插件在所有H5浏览器使用。下面将展示allWebPlugin中间件加载ActiveX插件在不同浏览器效果:



咨询交流
欢迎大家咨询交流,微信:yunkaipx(常用) QQ 78418227(很少用)