基于chromium浏览器加载ActiveX实践一概述

随着IE浏览器的退役,本文回顾了ActiveX控件在数字证书行业中的应用及其遇到的问题。面对Chrome不支持Flash的情况,作者介绍了通过WebSocket服务器和本地程序实现ActiveX与Chrome交互的解决方案,详细描述了开发环境和流程,并展示了测试效果。
摘要由CSDN通过智能技术生成

概述

5月16日,微软Edge浏览器通过其官方微博宣布,微软在1995年推出的IE浏览器,将于6月16日正式退役,之后其功能将由Edge浏览器接棒。

得知IE浏览器正式退役,不由得想起来几年前从事数字证书行业的时光。当时使用了ActiveX控件和USBKey通信,业务系统的网页端调用ActiveX控件接口实现业务逻辑。遇到了各种奇怪的问题,有时候IE浏览器就是加载不到控件,只能建议用户换一台电脑。
随着chrome浏览器的发展,chrome浏览器默认不加载flash了,发展到最后chrome彻底移除了flash。于是就面临了一个很严重的问题,如何支持chrome?
最终找到的解决方案是增加了一个本地程序,在本地程序中运行一个websocket服务器,并且由本地程序调用ActiveX控件并将结果通过websocket传给业务系统即业务系统 js <–> 本地server <–> activex 。流程如下图:
在这里插入图片描述

开发测试环境

  • windows 10
  • vs2010
  • ie11 Edge101
  • websocket服务器为websocketpp
  • websocketpp依赖boost库

源码

在这里插入图片描述

  • ATLProject1 ActiveX控件的源码
  • ATLProjectService 本地Server
  • htmljs 模拟业务系统

效果

ActiveX控件提供的接口如下图所示

STDMETHODIMP CCalc::Calc(SHORT a, SHORT b, SHORT * result)
{
	// TODO: 在此添加实现代码
	*result = a + b;
	Fire_OnDigit(0,2);
	return S_OK;
}

js测试界面如下图所示
在这里插入图片描述

IE打开html

  • 允许ActiveX运行
    在这里插入图片描述

  • 再次提示,允许运行
    在这里插入图片描述

  • 算出结果
    在这里插入图片描述

Edge打开html

  • 首先启动本地WebSocket服务器
    在这里插入图片描述

  • 打开网页
    在这里插入图片描述

  • 算出结果
    在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷动软件工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值