一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种浏览器加载插件的装置和方法与流程

2022-11-14 13:05:29 来源:中国专利 TAG:

技术特征:
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及插件标识信息;所述插件容器管理模块调用所述安全策略模块,验证插件是否安全,如果不安全,则生成创建失败错误码result;将错误码result和插件创建返回命令封装成数据包p2,返回数据包p2;否则,将使用虚拟桌面模块创建虚拟桌面环境d,生成插件容器子系统实例,并将其标识为pcid;通过命令行方式传递pcid,创建所述浏览器插件容器子系统;指定所述浏览器插件容器子系统在前述虚拟桌面环境d运行,所述容器管理模块将数据包p1,经过所述i/o通信模块发送给所述浏览器插件容器子系统;步骤三,插件创建及生成返回数据包:所述插件容器i/o通信模块接收到数据包p1后,进行初步解析,将其转发给所述插件管理模块;所述插件管理模块将提取创建插件命令cmd1和插件标识信息,创建对应的插件,获取创建执行错误码result及实例化插件对象句柄pid;所述插件管理模块将插件容器子系统标识pcid、插件创建返回命令、执行错误码result、插件对象句柄pid封装成数据包p3,将其发送给所述浏览器插件服务子系统;步骤四,返回数据包路由:所述i/o通信模块接收到数据包p3后进行初步解析,将其派发给所述插件容器管理模块,所述插件容器管理模块将数据包p2或p3,通过所述web服务模块返回给所述浏览器插件交互子系统的所述网络模块,所述网络模块转发给所述jsobj模块的创建插件方法;步骤五,解析返回数据包及创建javascript对象:创建插件方法将解析数据包p2或p3内容,根据错误码result,使用pcid及pid信息生成插件对应的javascript对象。7.根据权利要求5所述浏览器javascript脚本调用插件方法和属性的方法,其特征在于,其步骤如下:步骤一,javascript脚本类封装:所述浏览器jsobj模块为了实现插件接口调用,与ie浏览器调用插件接口调用保持一致;按照插件方法或属性名称、参数、返回值类型进行javascript脚本类方法或属性的封装;步骤二,数据包封装:在javascript方法或属性中将上述插件容器子系统标识pcid、插件对象标识pid、接口调用命令、方法或属性名称和参数封装成插件接口调用命令数据包p20;步骤三,数据包路由:插件接口调用命令数据包p20通过所述网络模块,经所述web服务,转发给所述插件容器管理模块,所述插件容器管理模块根据插件容器子系统标识pcid转给对应的所述浏览器插件容器子系统的所述插件管理模块;步骤四,插件接口调用:所述插件管理模块获取命令类型、插件对象标识pid、方法或属性名称及参数内容;根据插件对象标识pid,查找对应的插件对象,调用插件对象方法或属性,获取执行返回值;所述插件容器子系统将返回值和类型成数据包p21;步骤五,返回数据包路由:所述插件容器i/o通信模块发送数据包p21给所述i/o通信模块;所述i/o通信模块接收数据包p21; 经所述web服务模块,转发给所述网络模块,返回给所述jsobj模块;步骤六,解析返回数据包及获取返回值:所述jsobj模块解析数据包p21,获取插件接口调用返回值。8.根据权利要求5所述浏览器插件事件javascript响应的方法,其特征在于,其步骤如下:步骤一,插件事件数据包封装:所述插件管理模块监听插件所有事件;当插件触发事件
时,其将插件事件命令类型、插件容器子系统标识pcid,插件对象标识pid,事件方法名称、参数及参数类型封装成数据包p30;步骤二,数据包路由:所述插件容器i/o通信模块将数据包p30,发送给所述i/o通信模块;所述i/o通信模块解析数据包p30,根据插件事件命令类型,将数据包p30转发给所述插件容器管理模块;所述插件容器管理模块解析数据包p30,获取插件容器子系统标识pcid,通过插件容器子系统标识pcid,获取所述网络模块与所述web服务的web socket链接sock; 将数据包p30通过web socket链接sock发送给所述网络模块;步骤三,javascript脚本响应:所述网络模块解析数据包p30之后,根据插件事件命令类型、事件方法及事件参数,动态调用jsobj事件响应方法。9.根据权利要求5所述浏览器展示插件界面图像的方法,其特征在于,其步骤如下:步骤一,界面图像数据包封装:所述界面截图模块周期性定时获取插件容器界面图像,将图像进行yuv422编码,生成图像编码数据;其将插件容器子系统标识pcid,插件对象标识pid、插件界面图像命令类型及图像编码数据打包成数据包p40;步骤二,数据包路由:所述插件容器i/o通信模块将数据包p40,发送给所述i/o通信模块;所述i/o通信模块解析数据包p40,根据插件界面图像命令类型,将数据包p40转发给所述插件容器管理模块;所述插件容器管理模块解析数据包p40,获取插件容器子系统标识pcid,通过插件容器子系统标识pcid,获取所述网络模块与所述web服务的web socket链接sock; 将数据包p40通过web socket链接sock发送给所述网络模块;步骤三,插件界面图像展示:所述网络模块解析数据包p40之后,根据插件界面图像命令类型,调用所述插件界面展示模块显示方法,将图像编码数据渲染在浏览器绘图元素上,从而实现插件在浏览器页面运行的效果。10.根据权利要求5所述浏览器插件响应鼠标键盘输入的方法,其特征在于:步骤一,鼠标键盘输入事件数据包封装:所述鼠标键盘监听模块监听所述浏览器插件展示区域鼠标键盘输入事件,将前述事件、鼠标键盘输入事件命令类型、上述插件容器子系统标识pcid,插件对象标识pid封装成数据包p50;步骤二,数据包路由:所述网络模块将数据包p50发送给所述浏览器插件服务子系统; 所述web服务模块解析数据包p50,根据鼠标键盘输入事件命令类型,将数据包p50转发给所述插件容器管理模块;所述插件容器管理模块解析数据包p50,获取插件容器子系统标识pcid,通过插件容器子系统标识pcid,获取对应所述插件容器子系统,将数据包p50通过所述i/o通信模块,发送给所述插件容器子系统的所述插件容器i/o通信模块;步骤三,模拟鼠标键盘输入事件:所述插件容器i/o通信模块解析数据包p50后,根据鼠标键盘输入事件命令类型,调用所述鼠标键盘模拟模块将鼠标键盘输入事件转成插件的鼠标键盘事件,驱动给插件界面;至此,插件界面就可以响应鼠标键盘输入事件。

技术总结
本发明公开了一种浏览器加载插件的装置和方法,使所有浏览器能像IE浏览器使用Active X插件一样,通过JavaScript脚本调用Active X、NPAPI插件及保留浏览器插件原有的人机交互习惯。本发明装置包括:浏览器插件交互子系统、浏览器插件服务子系统及浏览器插件容器子系统;本发明方法包括:浏览器创建插件虚拟桌面运行的方法;浏览器JavaScript脚本调用插件方法和属性的方法;浏览器插件事件JavaScript响应的方法;浏览器展示插件界面图像的方法及浏览器插件响应鼠标键盘输入的方法。插件响应鼠标键盘输入的方法。插件响应鼠标键盘输入的方法。


技术研发人员:郭云开
受保护的技术使用者:郭云开
技术研发日:2022.09.03
技术公布日:2022/11/11
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献