当前位置: 首页 > 专利查询>郭云开专利>正文

一种浏览器加载插件的装置和方法制造方法及图纸

技术编号:35582892 阅读:15 留言:0更新日期:2022-11-12 16:14
本发明专利技术公开了一种浏览器加载插件的装置和方法,使所有浏览器能像IE浏览器使用Active X插件一样,通过JavaScript脚本调用Active X、NPAPI插件及保留浏览器插件原有的人机交互习惯。本发明专利技术装置包括:浏览器插件交互子系统、浏览器插件服务子系统及浏览器插件容器子系统;本发明专利技术方法包括:浏览器创建插件虚拟桌面运行的方法;浏览器JavaScript脚本调用插件方法和属性的方法;浏览器插件事件JavaScript响应的方法;浏览器展示插件界面图像的方法及浏览器插件响应鼠标键盘输入的方法。插件响应鼠标键盘输入的方法。插件响应鼠标键盘输入的方法。

【技术实现步骤摘要】
一种浏览器加载插件的装置和方法


[0001]本专利技术涉及浏览器领域,尤其涉及一种浏览器加载插件的装置和方法。

技术介绍

[0002]术语解释:Active X插件:Microsoft公司对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM),与本文中的Active X插件等名词等同含义。仅微软IE浏览器支持Active X插件,但是微软于2022年6月15日21:00时停止支持IE浏览。NPAPI插件:是Netscape Navigator、Mozilla Suite、Mozilla Sea Monkey和Mozilla Firefox等Gecko引擎浏览器与Apple Safari和Google Chrome等WebKit引擎浏览器所使用的类似Active X的插件接口。谷歌的Chrome和微软的Edge浏览器已经宣布放弃对NPAPI插件的支持。PPAPI插件:是Chrome浏览器在原有网景NPAPI(Netscape Plugin API)基础上发展而来的,将外挂插件全部放到沙盒里运行。2022年6月,Google宣布未来将终止所有平台上对PPAPI的支持。HTML5:它是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。HTML5浏览器:支持HTML5技术的浏览器,目前主流浏览器都支持HTML5技术,如IE、火狐、谷歌等。Canvas (绘图画布)元素:可以实现画布功能,该元素通过自带的API结合使用JavaScript脚本语言在网页上绘制图形和处理,拥有实现绘制线条、弧线以及矩形,用样式和颜色填充区域,书写样式化文本,以及添加图像的方法,且使用JavaScript可以控制其每一个像素。Textarea元素:HTML5文本输入元素。
[0003]浏览器插件是浏览器的重要组成部分,丰富浏览器的能力和应用。但出于对安全性的考虑,因为Active X、NPAPI、PPAPI插件可以窃取操作系统底层资源,容易发起恶意攻击,所以,各浏览器对插件的支持越来越弱,甚至有些浏览器停止对插件的支持,如火狐浏览器。而新版chrome内核浏览器也仅支持PPAPI插件,且在未来将放弃对PPAPI插件的支持;微软IE浏览器已经退出历史舞台,停止维护更新,这意味着大量传统可信任的插件产品将不再被浏览器支持。浏览器HTML5技术虽然强大,但是还有一些实现不了本地应用,尤其涉及本地资源访问和复杂UI交互的应用,如访问系统外设及Office大型办公软件的应用。传统解决浏览器插件加载方案有以下两种。利用Chrome内核浏览器PPAPI技术方法:使用PPAPI插件程序为Chrome浏览器和Active X插件之间搭起一座桥梁,使得Chrome浏览器能像IE浏览器使用Active X一样,通过JavaScript创建和使用Active X。这种方案在实际使用中存在遮挡页面元素、页面容易崩溃的问题,且仅支持Chrome内核浏览器,随时可能被Chrome禁用。
浏览器弹窗方案:通俗的讲,就是在浏览器需要支持插件的地方,通过请求本地服务,启动一个支持Active X或NPAPI插件的浏览器或者插件容器程序。这种方案用户操作困难,人机交互困难,用户体验极差。
[0004]本专利技术的目的:提供一种浏览器加载插件的装置和方法,使所有浏览器能像IE浏览器使用Active X插件一样,通过JavaScript脚本调用Active X、NPAPI插件及保留浏览器插件原有的人机交互习惯。

技术实现思路

[0005]本专利技术克服现有技术的不足,提供了一种浏览器加载插件的装置和方法。
[0006]一种浏览器加载插件的装置,其特征在于,包括:浏览器插件交互子系统、浏览器插件服务子系统及浏览器插件容器子系统。所述浏览器插件交互子系统运行在浏览器端,采用浏览器都支持的HTML5技术实现。采用HTML5 Canvas绘图元素展示插件界面图像,监听Canvas区域展示区域鼠标输入事件;利用Textarea元素监听键盘输入事件;采用JavaScript技术实现插件对象方法、属性和事件封装;采用Web Socket及HTTP通信技术与所述浏览器插件服务子系统通信。所述浏览器插件服务子系统是所述浏览器插件交互子系统与所述浏览器插件容器子系统的桥梁;维持浏览器插件交互子系统与浏览器插件容器子系统之间的对应关系,是整个装置的数据交互中枢;为所述浏览器插件容器子系统创建和维护虚拟桌面D运行环境。所述浏览器插件容器子系统提供插件运行容器,通过插件标识Class ID或Prog ID创建指定的插件,插件容器运行在上述虚拟桌面模块创建的虚拟桌面D内;执行所述浏览器插件交互子系统发送过来的插件接口调用命令数据包,并返回执行结果,实现插件方法和属性远程调用;将所述浏览器插件交互子系统发送过来的鼠标键盘输入事件命令数据包转换成插件的鼠标键盘输入事件;为所述浏览器插件交互子系统提供实时插件界面图像,使用户操作所述浏览器插件交互子系统,就像操作插件本身;并对插件对象进行管理,实现插件创建、销毁及插件事件远程推送。
[0007]优选地,所述浏览器插件交互子系统包括插件界面展示模块、鼠标键盘监听模块、jsObj模块及网络模块。其特征如下:所述插件界面展示模块处理所述网络模块转发过来的插件界面图像命令数据包P,并将其解析成图像Pic。插件界面展示模块由浏览器 HTML5 Canvas元素组成,利用Canvas元素绘制图像的功能,将前述图像Pic实时展示出来,实现插件界面在浏览器运行的效果。所述鼠标键盘监听模块由浏览器 HTML5Canvas和Textarea元素组成,Textarea元素依附在Canvas之上,采集Canvas区域鼠标和键盘输入事件,调用所述网络模块接口,将前述鼠标和键盘事件封装成鼠标键盘输入命令数据包,经所述浏览器插件服务子系统,发送给所述浏览器插件容器子系统。所述jsObj模块将Active X、NPAPI插件创建、销毁以及插件的方法、属性、事件封装成JavaScript类JsPlugin,简化业务系统调用插件的难度。前述JavaScript类JsPlugin
将插件对象标识、请求方法或属性及其参数,封装插件调用命令数据包,通过所述网络模块采用HTTP网络请求发送给所述浏览器插件服务子系统;处理所述网络模块接收的插件调用返回命令数据包,获取插件方法或属性调用返回结果。所述网络模块提供网络数据的发送和接收接口。浏览器网络模块提供Web Socket通信及HTTP通信。Web Socket提供异步通信机制,是插件事件、插件界面图像推送优先通信机制。HTTP通信采用同步的方式,适用于所述jsObj模块调用插件方法和属性。
[0008]优选地,所述浏览器插件服务子系统包括Web服务、虚拟桌面模块、插件容器管理模块、安全策略模块及I/O通信模块。其特征如下:所述Web服务提供Web Socket及HTTP服务。为所述浏览器插件交互子系统和所述浏览器插件服务子系本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种浏览器加载插件的装置,包括:浏览器插件交互子系统、浏览器插件服务子系统及浏览器插件容器子系统,其特征在于:所述浏览器插件交互子系统运行在浏览器端,采用浏览器支持的通用技术,实现插件界面图像在浏览器页面展示,展示区域鼠标键盘输入事件监听;采用JavaScript脚本实现插件对象方法、属性和事件封装;采用浏览器通信技术,实现其与所述浏览器插件服务子系统通信;所述浏览器插件服务子系统是所述浏览器插件交互子系统与所述浏览器插件容器子系统的桥梁;维持浏览器插件交互子系统与浏览器插件容器子系统之间的对应关系,是整个装置的数据交互中枢;为所述浏览器插件容器子系统创建和维护虚拟桌面运行环境;所述浏览器插件容器子系统提供插件运行容器,通过插件标识创建指定的插件,插件容器运行在上述虚拟桌面模块创建的虚拟桌面内,执行所述浏览器插件交互子系统发送过来的插件接口调用命令数据包,并返回执行结果,实现插件方法及属性远程调用;将所述浏览器插件交互子系统发送过来的鼠标键盘输入事件命令数据包转换成插件的鼠标键盘输入事件;为所述浏览器插件交互子系统提供实时插件界面图像,使用户操作所述浏览器插件交互子系统,就像操作插件本身;并对插件对象进行管理,实现插件创建、销毁及插件事件远程推送。2.根据权利要求1所述浏览器插件交互子系统,其特征在于:包括插件界面展示模块、鼠标键盘监听模块、jsObj模块及网络模块;根据权利要求2所述插件界面展示模块,其特征在于:处理所述网络模块转发过来的插件界面图像命令数据包P,并将其解析成图像Pic;插件界面展示模块由浏览器绘图元素组成,利用绘图元素绘制图像的功能,将前述图像Pic实时展示出来,实现插件界面在浏览器运行的效果;根据权利要求2所述鼠标键盘监听模块,其特征在于:由浏览器绘图元素和文本输入元素组成,文本输入元素依附在绘图元素之上,监听绘图区域鼠标和键盘输入事件,调用网络模块接口,将前述鼠标和键盘事件封装成鼠标键盘输入命令数据包,经所述浏览器插件服务子系统,发送给所述浏览器插件容器子系统;根据权利要求2所述jsObj模块,其特征在于:将插件创建、销毁以及插件的方法、属性、事件封装成JavaScript类,简化业务系统调用插件的难度;前述JavaScript类将插件对象标识、请求方法或属性及其参数,封装插件调用命令数据包,通过所述网络模块采用网络请求发送给所述浏览器插件服务子系统;处理所述网络模块接收的插件调用返回命令数据包,获取插件方法或属性调用返回结果;根据权利要求2所述网络模块,其特征在于:提供网络数据的发送和接收接口;浏览器网络模块提供Web Socket通信及HTTP通信;Web Socket提供异步通信机制,是插件事件、插件界面图像推送优先通信机制;HTTP通信采用同步的方式,适用于所述jsObj模块调用插件方法和属性。3.根据权利要求1所述浏览器插件服务子系统,其特征在于:包括Web服务、虚拟桌面模块、插件容器管理模块、安全策略模块及I/O通信模块;根据权利要求3所述Web服务,其特征在于:提供Web Socket及HTTP服务;为所述浏览器插件交互子系统和所述浏览器插件服务子系统建立网络链接;使命令数据包能在两者之间
有序交互;根据权利要求3所述虚拟桌面模块,其特征在于:创建、打开、关闭自定义虚拟桌面D,并将所述浏览器插件容器子系统运行在虚拟桌面D内,避免所述插件容器子系统在用户操作桌面显示,实现插件在所述插件容器子系统内隐藏运行;根据权利要求3所述插件容器管理模块,其特征在于:用于管理所述浏览器插件容器子系统,实现所述浏览器插件容器子系统创建、维护、调度和销毁;维持Web服务链接与所述浏览器插件容器子系统对应关系;维持所述浏览器插件交互子系统和所述浏览器插件容器子系统之间数据包转发,将网络包转成I/O通信数据包,或将I/O通信数据包转换成网络包;根据权利要求3所述安全策略模块,其特征在于:在插件创建之前,对插件安全性进行验证;只有通过安全策略验证的插件才允许创建;未通过安全策略验证的插件,不允许创建;根据权利要求3所述I/O通信模块,其特征在于:支持同步和异步通信方式,实现与所述浏览器插件容器子系统之间数据包交互;其提供发送接口,实现数据包发送;其提供接收接口,实现数据包初步解封,转发发给对应的处理模块。4.根据权利要求1所述浏览器插件容器子系统,其特征在于:包括插件容器I/O通信模块、鼠标键盘模拟模块、界面截图模块及插件管理模块;根据权利要求4所述插件容器I/O通信模块,其特征在于:支持同步和异步通信方式,实现与所述浏览器插件服务子系统数据包交互;其提供发送接口,实现数据包发送;其提供接收接口,实现数据包初步解封,转发发给对应的处理模块;根据权利要求4所述鼠标键盘模拟模块,其特征在于:处理所述插件容器I/O通信模块转发过来的鼠标键盘输入事件命令数据包,将其转换成前述虚拟桌面D下插件的鼠标键盘输入事件;根据权利要求4所述界面截图模块,其特征在于:将实时采集插件窗口界面图像,封装成插件界面图像命令数据包P,调用所述插件容器I/O通信模块发送接口,将其推送给所述浏览器插件服务子系统;根据权利要求4所述插件管理模块,其特征在于:负责插件的创建、显示、销毁、事件及插件接口调用;处理所述插件容器I/O通信模块转发过来的插件接口调用命令数据包,动态调用插件方法和属性,并将处理结果封装成数据包,原路返回给所述浏览器插件服务子系统;处理插件触发事件,将其封装成插件事件命令数据包,通过所述插件容器I/O通信模块推送给所述浏览器插件服务子系统。5.一种浏览器加载插件的方法,其特征在于包括:浏览器创建插件虚拟桌面运行的方法;浏览器JavaScript脚本调用插件方法和属性的方法;浏览器插件事件JavaScript响应的方法;浏览器展示插件界面图像的方法及浏览器插件响应鼠标键盘输入的方法。6.根据权利要求5所述浏览器创建插件虚拟桌面运行的方法,其特征在于,其步骤如下:步骤一,创建命令数据包封装及路由:所述浏览器插件交互子系统中所述JsObj模块将插件标识、创建插件命令CMD1封装数据包P1,通过所述网络模块发送给浏览器插件服务子系统的所述Web服务;所述Web服务将数据包P1转发给所述插件容器管理模块;步骤二,创建插件容器子系统:所述插件容器管理模块解析数据包P1,获取创建插件命
令CMD1及插...

【专利技术属性】
技术研发人员:郭云开
申请(专利权)人:郭云开
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1