本发明专利技术公开了一种Linux下本地应用程序窗体嵌入浏览器的方法及系统,浏览器首先获得浏览器插件内的插件对象,插件对象启动本地程序进程并使本地应用程序窗体嵌入至浏览器,之后插件对象调用浏览器插件内的插件接口,插件接口通过利用Linux下的DBus与本地应用程序进行通信,从而完成相关调用。这种方法可以缩短网页打开与本地应用程序相关文件的速度,使阅读、浏览和办公更加方便和快捷。
【技术实现步骤摘要】
本专利技术涉及浏览器的嵌入,尤其是一种在Linux下本地应用程序窗体嵌入浏览器的方法及系统。
技术介绍
目前,插件在浏览器中的应用已经十分普遍。在安装好插件后,浏览器能够直接应用插件程序,通过对本地应用程序的调用,方便快捷地处理相应的文件,从而大量减少打开网页的时间。但由于插件需要调用系统提供的函数库或者数据,所以,一般开发者为满足多数用户的需求,经常是针对最流行的Windows操作系统来开发的,比如Windows XP、Windows 7和Windows 8等。但对于安装其它操作系统,尤其是Linux的用户来说,当用户使用浏览器浏览网页时,如果浏览器无法加载对应的本地应用程序,网页会无法显示,给用户浏览网页带来不便;当用户需要通过浏览器打开文件并对文件进行操作时,如果浏览器无法加载对应的本地应用程序,同样会发现无法打开文件进而无法操作,为此用户常常需要通过相关的下载软件下载文件后,通过本地应用程序打开才能进行操作,这样会严重浪费时间。
技术实现思路
为解决上述问题,本专利技术的目的在于提供一种在Linux下本地应用程序窗体嵌入浏览器的方法及系统,通过浏览器提供的NPAPI与浏览器插件进行通信,浏览器插件通过利用Linux下的DBus与本地应用程序进程进行通信,实现本地程序窗体的嵌入和本地应用程序的调用,使浏览器网页正常显示并减少操作时间。本专利技术解决其问题所采用的技术方案是 Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于,包括以下步骤 步骤A,通过浏览器提供的NPAPI与浏览器插件通信,获得浏览器插件内的插件对象; 步骤B,插件对象启动本地应用程序,并使本地应用程序窗体嵌入到浏览器; 步骤C,插件对象调用对应的浏览器插件内的插件接口 ; 步骤D,插件接口通过Linux下的DBus与本地应用程序进行通信,实现对本地应用程序的调用并完成对应的操作。进一步,所述步骤D中,DBus根据插件接口提供的服务名字和路径名字在插件接口和本地应用程序进程之间建立DBus连接,实现二者之间的通信,同时为DBus连接命名。进一步,所述为DBus连接命名时,加密后的浏览器的窗口 ID作为DBus连接名字的一部分。进一步,所述步骤A中,浏览器提供的NPAPI通过JaveScript脚本与浏览器插件通信。进一步,所述本地应用程序窗体符合X Window协议。Linux下本地应用程序窗体嵌入浏览器的系统,其特征在于,包括浏览器,浏览器插件模块,本地应用程序和DBus通信模块,其中 浏览器插件模块,包括对象模块和接口模块; 浏览器,包括NPAPI接口模块,浏览器通过NPAPI接口模块与对象模块通信,加载浏览器插件模块; 对象模块,用于启动本地应用程序,并使本地应用程序窗体嵌入至浏览器,对象模块也用于调用接口模块; DBus通信模块,用于在接口模块和本地应用程序之间建立通信,实现接口模块对本地应用程序的调用并执行对应的操作。进一步,所述NPAPI接口模块通过JaveScript脚本与对象模块通信,从而加载浏览器插件模块。进一步,所述DBus通信模块通过建立DBus连接实现接口模块与本地应用程序之间的通信,同时DBus通信模块为此DBus连接命名。进一步,所述DBus通信模块为此DBus连接命名时,加密后的浏览器窗口 ID作为DBus连接名字的一部分。进一步,所述本地应用程序窗体符合X Window协议。本专利技术的有益效果是 本专利技术采用一种在Linux下本地应用程序窗体嵌入浏览器的方法及系统,通过浏览器提供的NPAPI可以和浏览器插件进行通信,获取插件对象;插件对象启动本地应用程序并使本地应用程序窗体嵌入至浏览器;插件对象调用插件接口 ;插件接口通过利用Linux下的DBus与本地应用程序进程进行通信,从而实现对本地应用程序的调用。这样不用打开本地程序而直接通过调用就可以在浏览器中使用,不仅减少操作时间,也使用户感到方便和快捷。附图说明下面结合附图和实例对本专利技术作进一步说明。图1是本专利技术方法的程序流程图。图2是本专利技术系统的组成结构示意图。图3是本专利技术具体实施例的程序流程图。具体实施例方式图1是本专利技术方法的程序流程图,参照图1所示,包括以下步骤 步骤A,通过浏览器提供的NPAPI与浏览器插件通信,获得浏览器插件内的插件对象。本步骤中,浏览器提供的NPAPI通过JaveScript脚本与浏览器插件通信,获得浏览器插件内的插件对象。所述NPAPI即网景插件应用程序接口,是用于在浏览器中执行外部应用程序的通用接口。所述JaveScript脚本是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,同时也是一种广泛用于客户端Web开发的脚本语言。步骤B,插件对象启动本地应用程序,并使本地应用程序窗体嵌入到浏览器。本步骤中,插件对象通过调用JaveScript函数启动本地应用程序进程,并使本地应用窗体嵌入到浏览器当中。其中,本地应用程序具有窗体,且本地应用程序窗体符合XWindow协议。所述X Window协议是标准化软件工具包及显示架构的运作协议。步骤C,插件对象调用对应的浏览器插件内的插件接口。本步骤中,插件对象可以直接调用浏览器插件内的插件接口。步骤D,插件接口通过Linux下的DBus与本地应用程序进行通信,实现对本地应用程序的调用并完成对应的操作。本步骤中,Linux下的DBus根据插件接口提供的服务名字和路径名字在插件接口和本地应用程序进程之间建立DBus连接,并为此DBus连接命名,命名时,加密后的浏览器的窗口 ID作为DBus连接的一部分。插件接口通过DBus连接与本地应用程序进行通信,实现对本地应用程序的调用并完成相关的操作。所述DBus是一个适用于桌面应用的进程间的通讯机制。,由于浏览器的窗口 ID是唯一的,保证了同时启动多个窗口时调用本地应用程序不受影响,窗口 ID加密后,使每次启动的服务名字都不同,其它程序就无法使用此服务名字。图2是本专利技术系统的组成结构示意图,参照图2所示,包括浏览器,浏览器插件模块,本地应用程序和DBus通信模块,其中 浏览器插件模块,包括对象模块和接口模块; 浏览器,包括NPAPI接口模块,NPAPI接口模块通过JaveScript脚本与对象模块通信,从而加载浏览器插件模块; 对象模块,用于启动本地应用程序,并使本地应用程序窗体嵌入至浏览器,对象模块也用于调用接口模块; DBus通信模块,通过建立DBus连接实现接口模块和本地应用程序之间的通信,实现接口模块对本地应用程序的调用并执行对应的操作。DBus通信模块在建立DBus连接时,会为此DBus连接命名,命名时,加密后的浏览器窗口 ID作为DBus连接名字的一部分。所述本地应用程序窗体符合X Window协议。需要说明的是,所述本地应用程序包括但不限于控制台程序、办公软件程序、TOF浏览器等,且本地应用程序有对应的窗体程序。所述浏览器为可向万维网(Web)服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。所述浏览器无特殊限制,其包括但不限于IE,360安全浏览器,火狐浏览器,世界之窗浏览器,TT浏览器,搜狗浏览器,谷歌浏览器,opera浏览器,maxthon浏览器,gr本文档来自技高网...
【技术保护点】
Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于,包括以下步骤:步骤A,通过浏览器提供的NPAPI与浏览器插件通信,获得浏览器插件内的插件对象;步骤B,插件对象启动本地应用程序,并使本地应用程序窗体嵌入到浏览器;步骤C,插件对象调用对应的浏览器插件内的插件接口;步骤D,插件接口通过Linux下的DBus与本地应用程序进行通信,实现对本地应用程序的调用并完成对应的操作。
【技术特征摘要】
1.Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于,包括以下步骤 步骤A,通过浏览器提供的NPAPI与浏览器插件通信,获得浏览器插件内的插件对象; 步骤B,插件对象启动本地应用程序,并使本地应用程序窗体嵌入到浏览器; 步骤C,插件对象调用对应的浏览器插件内的插件接口 ; 步骤D,插件接口通过Linux下的DBus与本地应用程序进行通信,实现对本地应用程序的调用并完成对应的操作。2.根据权利要求1所述的Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于所述步骤D中,DBus根据插件接口提供的服务名字和路径名字在插件接口和本地应用程序进程之间建立DBus连接,实现二者之间的通信,同时为DBus连接命名。3.根据权利要求2所述的Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于所述为DBus连接命名时,加密后的浏览器的窗口 ID作为DBus连接名字的一部分。4.根据权利要求1所述的Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于所述步骤A中,浏览器提供的NPAPI通过JaveScript脚本与浏览器插件通信。5.根据权利要求1至4任一所述的Linux下本地应用程序窗体嵌入浏览器的方法,其特征在于所述本地应用程序窗体符合X Window协议。6.Linux下本地应用程序窗体嵌入...
【专利技术属性】
技术研发人员:詹欣坤,陈旺,刘强,
申请(专利权)人:珠海金山办公软件有限公司,北京金山办公软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。