CN111158784A - 一种基于谷歌浏览器加载ActiveX控件的解决方法 - Google Patents
一种基于谷歌浏览器加载ActiveX控件的解决方法 Download PDFInfo
- Publication number
- CN111158784A CN111158784A CN201911393135.8A CN201911393135A CN111158784A CN 111158784 A CN111158784 A CN 111158784A CN 201911393135 A CN201911393135 A CN 201911393135A CN 111158784 A CN111158784 A CN 111158784A
- Authority
- CN
- China
- Prior art keywords
- page
- browser
- control
- activex
- loading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明特别涉及一种基于谷歌浏览器加载ActiveX控件的解决方法。该基于谷歌浏览器加载ActiveX控件的解决方法,利用HTML+CSS+JavaScript完成浏览器页面的开发,使用户得到在Chrome浏览器中展示的页面雏形;开发对应页面需要的ActiveX控件,并将ActiveX控件包装到MFC工程内;使包装好的控件接收页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。该基于谷歌浏览器加载ActiveX控件的解决方法,使对于老旧项目的支持改造仅限于对ActiveX控件的改造,从而减轻了工程改造的难度,降低了工程改造的资源消耗。
Description
技术领域
本发明涉及网页浏览器插件改造技术领域,特别涉及一种基于谷歌浏览器加载ActiveX控件的解决方法。
背景技术
Google Chrome,又称谷歌浏览器,是一个由Google(谷歌)公司开发的网页浏览器。该浏览器是基于其他开源软件所撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于称作Chrome的网络浏览器图形使用者界面(GUI)。软件的beta测试版本在2008年9月2日发布,提供50种语言版本,有Windows、Mac OS X、Linux、Android、以及iOS版本提供下载。
在现如今的行业与应用场景中,Google Chrome浏览器的应用越来越广泛。Chrome以其反应迅速、便利插件繁多、兼容性强的特点,成为越来越多电脑用户的主选浏览器之一。据统计,2013年9月,Chrome浏览器已达全球份额的43%,成为全球使用最广的浏览器。于是基于Chrome浏览器的项目就逐渐多了起来,很多项目在实现的过程中或多或少的都使用了ActiveX控件来实现某一种或者某几种功能。
ActiveX控件是用于互联网的很小的程序,有时称为插件程序。它们会允许播放动画,或帮助执行任务,如在Microsoft Update安装安全更新,因此可以增强用户的浏览体验。也可以说,ActiveX控件是Microsoft的ActiveX技术的一部分。ActiveX控件是可以在应用程序和网络中计算机上重复使用的程序对象。创建它的主要技术是Microsoft的ActiveX技术,其中主要是组件对象模型(COM)。ActiveX控件可以以小程序下载装入网页,也可以用在一般的Windows和Macintosh应用程序环境中。
在实现中,ActiveX控件是一个动态链接库(DLL)模块,它包括在容器(包括COM程序接口的应用程序)当中。这种可重复使用的组件技术可以加快开发速度和质量,Windows95/NT应用程序开发程序如Powerbuilder和Access都利用了ActiveX控件
但是在随着Chrome逐渐放弃对npapi的支持之后,在Chrome浏览器内加载ActiveX等插件变的麻烦了许多。尤其是在Chrome浏览器在45版本以后,完全停止了对npapi的支持,这使得一些之前的老项目在Chrome浏览器升级更新之后,老的ActiveX等控件再也无法在Chrome浏览器页面中加载出来了。这样一来,需要加载ActiveX控件的页面,显示效果与播放效果很差,使得使用人在查看到未加载的页面时,对系统的信任程度下降,系统实现相应功能的能力丧失。而且对于这些插件项目的改造除了面临着经费问题之外,浏览器内核的改变也会导致之前的工程基本要重写,既耗时又耗力。
为了满足新趋势下的技术要求,解决Chrome浏览器支持第三方控件的问题,本发明提出了一种基于谷歌浏览器加载ActiveX控件的解决方法。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于谷歌浏览器加载ActiveX控件的解决方法。
本发明是通过如下技术方案实现的:
一种基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:包括以下步骤:
第一步,利用HTML+CSS+JavaScript完成浏览器页面的开发,使用户得到在Chrome浏览器中展示的页面雏形;
第二步,开发对应页面需要的ActiveX控件,并将ActiveX控件包装到MFC工程内;
第三步,使包装好的控件接收页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
所述第一步中,编写Html+JavaScript+CSS页面代码完成浏览器页面的开发,并在该页面中预留加载ActiveX控件的位置。
所述第二步中,利用C++语言完成对ActiveX控件的开发,所述ActiveX控件对外暴露接口,接口可供第三方程序调用。
所述第二步中,MFC工程自带内嵌ie内核的浏览器,JavaScript控件在该浏览器内加载。
所述第三步中,利用WebSocket协议,使包装好的控件可以接受页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
所述第三步中,通过WebSocket接口,由HTML和JavaScript页面发送参数,控件对外暴露接口接收页面参数。
所述页面参数用于控制ActiveX控件的大小及位置,以及对应ActiveX控件需要的参数,以实现对应的ActiveX控件功能。
所述第三步中,通过Websocket接口实时更新数据,实现ActiveX控件在页面上的实时加载与更新,完美实现Chrome浏览器页面加载第三方ActiveX控件的功能。
本发明的有益效果是:该基于谷歌浏览器加载ActiveX控件的解决方法,使对于老旧项目的支持改造仅限于对ActiveX控件的改造,从而减轻了工程改造的难度,降低了工程改造的资源消耗。
附图说明
附图1为本发明基于谷歌浏览器加载ActiveX控件的解决方法示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该基于谷歌浏览器加载ActiveX控件的解决方法,包括以下步骤:
第一步,利用HTML+CSS+JavaScript完成浏览器页面的开发,使用户得到在Chrome浏览器中展示的页面雏形;
第二步,开发对应页面需要的ActiveX控件,并将ActiveX控件包装到MFC工程内;
第三步,使包装好的控件接收页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
所述第一步中,编写Html+JavaScript+CSS页面代码完成浏览器页面的开发,并在该页面中预留加载ActiveX控件的位置。
所述第二步中,利用C++语言完成对ActiveX控件的开发,所述ActiveX控件对外暴露接口,接口可供第三方程序调用。
所述第二步中,MFC工程自带内嵌ie内核的浏览器,JavaScript控件在该浏览器内加载。
所述第三步中,利用WebSocket协议,使包装好的控件可以接受页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
所述第三步中,通过WebSocket接口,由HTML和JavaScript页面发送参数,控件对外暴露接口接收页面参数。
所述页面参数用于控制ActiveX控件的大小及位置,以及对应ActiveX控件需要的参数,以实现对应的ActiveX控件功能。
所述第三步中,通过Websocket接口实时更新数据,实现ActiveX控件在页面上的实时加载与更新,完美实现Chrome浏览器页面加载第三方ActiveX控件的功能。
该基于谷歌浏览器加载ActiveX控件的解决方法,是通过HTML+CSS+JavaScript页面与C++ActiveX控件的有效结合,独辟蹊径,在Chrome浏览器禁用npapi之后,实现Chrome浏览器页面加载第三方控件的完美实现。具体实施过程如下:
一、首先实现Chrome浏览器页面的开发,利用HTML+CSS+JavaScript技术,并且在此页面中预留加载ActiveX控件的位置。
二、其次利用C++实现ActiveX控件的开发,并且响应控件对外暴露相关接口(包括导出函数,调整位置、大小等接口),接口可供页面调用。
三、通过WebSocket接口,由HTML和JavaScript页面send参数,控件的相应接口receive参数(包括ActiveX控件的大小,位置参数等)。
四、页面发送的参数不仅可以控制ActiveX控件的大小位置,而且对应ActiveX控件需要的参数也可以接收,以用来实现对应的控件功能。
五、通过Websocket接口实时更新数据,实现ActiveX控件在页面上的实时加载与更新,从而完美实现了Chrome浏览器页面加载第三方ActiveX控件的功能。
与现有技术相比,该基于谷歌浏览器加载ActiveX控件的解决方法,具有以下特点:
第一、在Chrome浏览器不支持npapi之后,完美地解决了Chrome浏览器支持第三方控件的问题;
第二、该方案只需要控件与Chrome浏览器页面配合,通过websocket通讯实现实时更新,即可方便快捷的实现之前在Chrome浏览器支持npapi时实现的功能;
第三、该方案相较其他实现方案更加省时省力,实现效果与原页面(Chrome浏览器支持npapi时的页面)效果一致,可以比较完美的实现了Chrome浏览器加载ActiveX控件的功能。
以上对本发明实例中的一种基于谷歌浏览器加载ActiveX控件的解决方法进行了详细的介绍。本部分采用具体实例对发明的原理及实施方式进行了阐述,以上实例仅用于帮助理解本发明的核心思想,在不脱离本发明原理的情况下,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
Claims (8)
1.一种基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于,包括以下步骤:
第一步,利用HTML+CSS+JavaScript完成浏览器页面的开发,使用户得到在Chrome浏览器中展示的页面雏形;
第二步,开发对应页面需要的ActiveX控件,并将ActiveX控件包装到MFC工程内;
第三步,使包装好的控件接收页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
2.根据权利要求1所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第一步中,编写Html+JavaScript+CSS页面代码完成浏览器页面的开发,并在该页面中预留加载ActiveX控件的位置。
3.根据权利要求1所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第二步中,利用C++语言完成对ActiveX控件的开发,所述ActiveX控件对外暴露接口,接口可供第三方程序调用。
4.根据权利要求1所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第二步中,MFC工程自带内嵌ie内核的浏览器,JavaScript控件在该浏览器内加载。
5.根据权利要求1所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第三步中,利用WebSocket协议,使包装好的控件可以接受页面传递出的页面参数,继而实现Chrome浏览器页面对第三方控件的同步控制。
6.根据权利要求5所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第三步中,通过WebSocket接口,由HTML和JavaScript页面发送参数,控件对外暴露接口接收页面参数。
7.根据权利要求6所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述页面参数用于控制ActiveX控件的大小及位置,以及对应ActiveX控件需要的参数,以实现对应的ActiveX控件功能。
8.基于权利要求6所述的基于谷歌浏览器加载ActiveX控件的解决方法,其特征在于:所述第三步中,通过Websocket接口实时更新数据,实现ActiveX控件在页面上的实时加载与更新,实现Chrome浏览器页面加载第三方ActiveX控件的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393135.8A CN111158784A (zh) | 2019-12-30 | 2019-12-30 | 一种基于谷歌浏览器加载ActiveX控件的解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911393135.8A CN111158784A (zh) | 2019-12-30 | 2019-12-30 | 一种基于谷歌浏览器加载ActiveX控件的解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111158784A true CN111158784A (zh) | 2020-05-15 |
Family
ID=70559048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911393135.8A Pending CN111158784A (zh) | 2019-12-30 | 2019-12-30 | 一种基于谷歌浏览器加载ActiveX控件的解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111158784A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819451A (zh) * | 2011-06-09 | 2012-12-12 | 深圳市财付通科技有限公司 | 一种浏览器插件调用方法及系统 |
CN105471824A (zh) * | 2014-09-03 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 实现浏览器调用本地业务组件的方法、装置及系统 |
CN106657271A (zh) * | 2016-11-17 | 2017-05-10 | 中国农业银行股份有限公司 | 一种本地控件的调用方法和装置 |
CN108089857A (zh) * | 2017-12-05 | 2018-05-29 | 广东雅达电子股份有限公司 | 一种工业web实时监测页面的生成方法 |
CN109343906A (zh) * | 2018-10-15 | 2019-02-15 | 江西金格科技股份有限公司 | 一种浏览器加载ActiveX控件的方法 |
-
2019
- 2019-12-30 CN CN201911393135.8A patent/CN111158784A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819451A (zh) * | 2011-06-09 | 2012-12-12 | 深圳市财付通科技有限公司 | 一种浏览器插件调用方法及系统 |
CN105471824A (zh) * | 2014-09-03 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 实现浏览器调用本地业务组件的方法、装置及系统 |
CN106657271A (zh) * | 2016-11-17 | 2017-05-10 | 中国农业银行股份有限公司 | 一种本地控件的调用方法和装置 |
CN108089857A (zh) * | 2017-12-05 | 2018-05-29 | 广东雅达电子股份有限公司 | 一种工业web实时监测页面的生成方法 |
CN109343906A (zh) * | 2018-10-15 | 2019-02-15 | 江西金格科技股份有限公司 | 一种浏览器加载ActiveX控件的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140035945A1 (en) | Computing device applications with an automatically adapting user interface | |
US9286142B2 (en) | Methods and systems for supporting a rendering API using a runtime environment | |
CN109388766B (zh) | 页面加载的方法和装置 | |
US11016785B2 (en) | Method and system for mirror image package preparation and application operation | |
CA2968947C (en) | Enhanced upgrade path | |
CN105786513A (zh) | 基于Html5的混合移动应用开发方法 | |
TW201415411A (zh) | 在移動設備上進行圖形渲染的方法和裝置 | |
US20120174079A1 (en) | Systems and methods for simulating a mobile device application | |
CN110389755B (zh) | 代码处理方法及装置、电子设备和计算机可读存储介质 | |
CN109814865B (zh) | 一种基于json数据格式的移动应用页面生成方法 | |
CN109671147B (zh) | 基于三维模型的纹理贴图生成方法及装置 | |
CN110020276B (zh) | 一种app中嵌入h5页面的兼容性处理方法及装置 | |
CN111796821A (zh) | 一种页面更新的方法及装置 | |
CN111367518B (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
CN108733370B (zh) | 原生app的样式化显示方法、装置、终端及存储介质 | |
CN105786452A (zh) | 移动设备上轻量级app开发系统及方法 | |
KR20130017337A (ko) | 하이브리드 앱 개발 플랫폼 구조 및 그 테스트 방법, 그리고 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. | |
EP2649539A1 (en) | System for generating websites for products with an embedded processor | |
WO2022257503A1 (zh) | 一种游戏翻译方法和装置 | |
CN112000334A (zh) | 页面开发方法、装置、服务器及存储介质 | |
CN108228139B (zh) | 基于html5浏览器框架的单片机开发系统及装置 | |
CN104133706A (zh) | 固件修改方法及固件修改装置 | |
CN114116443A (zh) | 一种页面数据传递方法、装置、系统及介质 | |
CN112068879B (zh) | 基于配置化的客户端应用程序开发框架构建方法及装置 | |
CN113778405A (zh) | 一种跨平台app构建方法、装置、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |