【技术实现步骤摘要】
一种浏览器加载插件的装置和方法
[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结 ...
【技术保护点】
【技术特征摘要】
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及插...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。