一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法与流程

文档序号:12271692阅读:365来源:国知局
一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法与流程

本发明涉及互联网技术领域,特别是涉及一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法。



背景技术:

在Windows系统上,早已有多种浏览器支持双核浏览,双核即IE内核和WebKit内核。浏览器利用双核,实现了更大的兼容性,许多只有IE浏览器才能显示和操作的网页也能正常显示了。但是在Linux系统中,有些业务系统是基于IE浏览器的,而由于IE浏览器的闭源及其专属于Windows的特性,导致到现在为止,在Linux系统上,没有出现任何一款双核浏览器。现在要做的就是兼容,即在Linux系统上,制作一种用既能浏览WebKit网页,又能浏览IE网页的双核浏览器。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种Linux浏览器实现WebKit/IE双核无缝浏览系统及方法,在Linux系统中,既能浏览基于WebKit网页的业务系统又能浏览基于IE网页的业务系统。

为实现上述目的,本发明提供的Linux浏览器实现WebKit/IE双核无缝浏览系统,包括,Linux端以及Windows端,其中,

所述Linux端,其访问远程网页,对所述远程网页进行识别,将IE网页嵌入到标签页中进行虚拟化并加载,或用WebKit内核加载WebKit网页,加载所述IE网页时,传递IE行为控制命令给所述Windows端,根据所述Windows端的IE状态改变信息更新IE标签的状态;

所述Windows端,其接收所述IE行为控制命令,控制IE的行为,并将所述IE状态改变信息发送给Linux端;

所述IE行为控制命令,包括,IE标签的前进、后退及更改网址;

所述IE状态改变信息,包括,IE的前进、后退状态改变,当前网址改变,在新标签中打开指定网址。

进一步地,所述Linux端,包括,Linux浏览器、远程桌面网关服务模块及Web容器,其中,

所述远程桌面网关服务模块,提供与远程服务器相连接的接口;

所述Web容器,通过所述接口访问远程服务器中的远程网页,并将远程网页信息传递给Linux浏览器;

所述Linux浏览器,通过所述网页信息访问所述远程网页。

进一步地,所述Web容器,进一步包括,Web App模块,其通过所述Web容器访问所述远程服务器中的远程网页,再将所述网页信息发送给所述Linux浏览器。

进一步地,所述Linux浏览器,进一步包括,内核智能切换组件、虚拟化IE标签页、WebKit标签页,以及无缝浏览控制支持组件,其中,

所述内核智能切换组件,对所述远程网页进行识别,判断所述远程网页是否为IE网页;

所述虚拟化IE标签页,对IE网页进行加载;

所述WebKit标签页,对WebKit网页进行加载;

加载所述IE网页时,所述无缝浏览控制支持组件传递所述IE行为控制命令给所述Windows端,将所述Windows端发送的所述IE状态改变信息传递给虚拟化IE标签页。

进一步地,所述内核智能切换组件,其内置包含有IE网页的网址信息的IE Only网址列表。

更进一步地,所述Windows端,其包括,无缝浏览控制服务模块,以及IE浏览辅助插件,其中,

所述无缝浏览控制服务模块,接收所述Linux端传递的IE行为控制命令,并传递所述IE行为控制命令给IE浏览辅助插件,传递IE浏览辅助插件反馈的IE状态改变信息给所述Linux端;

所述IE浏览辅助插件,接收所述无缝浏览控制服务模块传递的述IE行为控制命令,控制IE的⾏为,并反馈所述IE状态改变信息给所述无缝浏览控制服务模块。

为实现上述目的,本发明提供的Linux浏览器实现WebKit/IE双核无缝浏览方法,包括以下步骤:

1)Linux端访问远程网页,并对所述远程网页进行识别;

2)将IE网页嵌入到标签页中进行虚拟化并加载,并将IE行为控制命令发送给Windows端;

3)用WebKit内核加载WebKit网页;

4)Windows端根据所述IE行为控制命令,控制IE的行为;

5)Linux端根据Windows端发送的IE状态改变信息更新IE标签的状态。

进一步地,步骤1)所述Linux端访问远程网页,进一步包括以下步骤:

Web容器的Web App模块通过远程桌面网关服务模块提供的接口访问远程服务器中的所述远程网页;

将所述远程网页传递给所述Linux浏览器。

进一步地,所述IE行为控制命令,包括, IE标签的前进、后退及更改网址;所述IE状态改变信息,包括,IE的前进、后退状态改变,当前网址改变,在新标签中打开指定网址。

进一步地,步骤1)所述的对所述远程网页进行识别的步骤是:内核智能切换组件判断访问的远程网页的网址是否在IE Only网址列表中,如果是则认为远程网页为IE网页,否则认为是WebKit网页。

进一步地,所述步骤4)进一步包括以下步骤:

无缝浏览控制服务模块接收无缝浏览控制支持组件发送的IE行为控制命令,并将其转发给IE浏览辅助插件;

所述IE浏览辅助插件根据所述IE行为控制命令,控制IE的行为。

更进一步地,所述步骤5)进一步包括以下步骤:

IE浏览辅助插件接收IE状态改变信息并发送给无缝浏览控制服务模块;

无缝浏览控制服务模块将所述IE状态改变信息转发给收无缝浏览控制支持组件;

无缝浏览控制支持组件根据IE状态改变信息更新IE标签的状态。

本发明的Linux浏览器实现WebKit/IE双核无缝浏览系统及方法,解决了 Linux系统上没有双核浏览器的问题,有效融合IE内核到标签中,默认用WebKit内核打开网页,渲染运行速度快,而对于 IE Only 的网页则只能切换为IE内核打开,保证了兼容性。这不仅提供良好的浏览体验,还使基于IE 的业务系统能在Linux系统上正常操作,具有良好的经济效益和社会效益。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的Linux浏览器实现WebKit/IE双核无缝浏览系统架构图;

图2为根据本发明的Linux浏览器实现WebKit/IE双核无缝浏览的方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的Linux浏览器实现WebKit/IE双核无缝浏览系统架构图,如图1所示,本发明的Linux浏览器实现WebKit/IE双核无缝浏览系统,包括,Linux端100以及Windows端200,其中,

Linux端100,访问远程网页,对远程网页进行识别,将IE网页嵌入到标签页中进行虚拟化并加载,或用WebKit内核加载WebKit网页,加载IE网页时,传递IE行为控制命令给Windows端200,根据Windows端200的IE状态改变信息更新IE标签的状态。

Windows端200,接收Linux端100的IE行为控制命令,控制IE的行为,发送IE状态改变信息给Linux端100;其中,Windows端200基于IE行为控制命令对当前IE网页所对应的标签进行解析,将与IE行为控制命令相对应的IE状态改变信息发送给Linux端100,控制Linux端100加载IE网页的行为。

进一步地,Linux端100,其包括,远程桌面网关服务模块120、Web容器130以及Linux浏览器110,其中,

远程桌面网关服务模块120,其提供与远程服务器相连接的接口。远程桌面网关服务模块120支持RDP及VNC等协议,提供WebSocket及API等接口。

Web容器130,使用Jetty或者Tomcat容器,通过接口访问远程服务器中的网页,其进一步包括基于远程桌面网关的Web App模块131,

Web App模块131通过Web容器130访问远程服务器,并访问远程服务器中的网页,再将网页的信息发送给Linux浏览器110。

Web App模块131,其基于远程桌面网关服务模块120提供的API接口及Linux浏览器110提供的远程桌面地址和端口,结合HTML5及Canvas+WebSocket技术,实现对远程服务器中网页的访问,为Linux浏览器110加载的网页提供相对应的页面。

Linux浏览器110,包括:内核智能切换组件111、虚拟化IE标签页112、WebKit标签页113及无缝浏览控制支持组件114;

内核智能切换组件111,其根据Linux浏览器110接收的网页的信息,判断网页是否为IE网页,若是,通过虚拟化IE标签页112对网页进行加载,否则,通过WebKit标签页113对网页进行加载。

虚拟化IE标签页112,其将Web App模块131提供的IE网页进行虚拟化,将远程IE嵌入到标签页中并进行加载;加载的网页的标签ID hash后可作为参数传给远程服务器。

WebKit标签页113,其默认用WebKit内核打开网页。

无缝浏览控制支持组件114,其将虚拟化IE标签页112加载的网页对应的IE行为控制命令传递给Windows端200,并将Windows端200的IE状态改变信息反馈给虚拟化IE标签页112,虚拟化IE标签页112根据IE状态改变信息更新标签的状态。

其中,IE行为控制命令包括:IE标签的前进、后退及更改网址等命令。

其中,IE状态改变信息包括:IE的前进、后退状态改变,当前网址改变,在新标签中打开指定网址。

更进一步地,内核智能切换组件111包括:内置的IE Only网址列表,包含有IE专属特性或方法的网页的网址信息,用以判断网页是否为IE内核网页。当网页的信息中含有内置的IE Only网址列表中所包含的有IE专属特性或方法的网页的网址信息时,通过虚拟化IE标签页112对网页进行加载,否则,通过WebKit标签页113对网页进行加载。当然,IE Only网址列表也可通过外置插件的方式加载到内核智能切换组件111中。

更进一步地,内置的IE Only网址列表中添加含有IE专属特性或方法的网页的网址信息的方法为:预置含有IE专属特性或方法的网页的网址信息于内置的IE Only网址列表中,或者将探测HTML页面及JavaScript等页面时,检测到含有IE专属特性的网页的网址信息加入于内置的IE Only网址列表中。

其中,预置、探测及加入命令可以通过外界命令进行触发,例如,当Linux浏览器110探测到HTML页面及JavaScript,发现有IE专属特性或方法后,自动将当前网址加入到内置的IE Only网址列表。当然也可由用户手动触发,当用户通过浏览器访问任一网页(IE网页或者WebKit网页)时,将当前网址预存于内置的IE Only网址列表中,再采用手动切换的方式,使浏览器通过虚拟化IE标签页112对网页进行加载,加载成功,则将当前网址加入到内置的IE Only网址列表中,若浏览器通过WebKit标签页113对网页进行,并加载成功,则将当前网址从内置的IE Only网址列表中移除。

进一步地,Windows端200,其包括,无缝浏览控制服务模块210及IE浏览辅助插件220,其中,

无缝浏览控制服务模块210接收无缝浏览控制支持组件114传递的IE行为控制命令,并将IE行为控制命令传递给IE浏览辅助插件220;

IE浏览辅助插件220,根据IE行为控制命令,解析网页标签ID,控制IE的行为,并反馈IE状态改变信息给无缝浏览控制服务模块210,无缝浏览控制服务模块210将IE行为控制命令传递给无缝浏览控制支持组件114,控制虚拟化IE标签页112加载IE网页的行为。

进一步地,IE浏览辅助插件220包括:全屏IE 模块221,

全屏IE模块221,生成与IE行为控制命令相对应的参数指令。

其中,参数指令包括:用-k参数启动的IE网页,页面内容全屏显示,不显示标题栏、地址栏、工具栏等参数指令。

图2为根据本发明的Linux浏览器实现WebKit/IE双核无缝浏览的方法流程图,下面将参考图2,对本发明的Linux浏览器实现WebKit/IE双核无缝浏览的方法进行描述,

首先,在步骤201,Linux端100访问远程网页,并将远程网页信息发送给Linux浏览器110;

在该步骤中,远程桌面网关服务模块120提供与远程服务器相连接的接口; Web容器130的Web App模块131,通过远程桌面网关服务模块120提供的API接口及Linux浏览器提供的远程桌面地址和端口,结合HTML5及Canvas+WebSocket技术,实现对远程服务器中远程网页的访问,并将网页信息发送给Linux浏览器110,为Linux浏览器110加载的网页提供相对应的页面。

其中,远程桌面网关服务模块120支持RDP及VNC等协议,提供WebSocket及API等接口。

Web容器130,其使用Jetty或者Tomcat容器,通过接口访问远程服务器中的网页。

在步骤202中,根据接收的网页信息,判断远程网页是否为IE内核网页,若是,步骤204,否则,步骤203;

在该步骤中,Linux浏览器110的内核智能切换组件111根据Linux浏览器110接收的网页信息,判断远程网页是否为IE网页,若是,则转到步骤204,通过虚拟化IE标签页112对网页进行加载;否则,转到步骤203,通过WebKit标签页113对网页进行加载。

内核智能切换组件111,其内置有IE Only网址列表,该网址列表包含有IE专属特性或方法的网页的网址信息,用以判断网页是否为IE内核网页。当网页的信息中含有内置的IE Only网址列表中所包含的有IE专属特性或方法的网页的网址信息时,通过虚拟化IE标签页112对网页进行加载,否则,通过WebKit标签页113对网页进行加载。当然,IE Only网址列表也可通过外置插件的方式加载到内核智能切换组件中。

进一步地,内置的IE Only网址列表中添加含有IE专属特性或方法的网页的网址信息的方法为:预置含有IE专属特性或方法的网页的网址信息于内置的IE Only网址列表中,或者将探测HTML页面及JavaScript等页面时,检测到含有IE专属特性的网页的网址信息加入于内置的IE Only网址列表中。

其中,预置、探测及加入命令可以通过外界命令进行触发,例如,当Linux浏览器110探测到HTML页面及JavaScript,发现有IE专属特性或方法后,自动将当前网址加入到内置的IE Only网址列表。当然也可由用户手动触发,当用户通过浏览器访问任一网页(IE网页或者WebKit网页)时,将当前网址预存于内置的IE Only网址列表中,再采用手动切换的方式,使浏览器通过虚拟化IE标签页对网页进行加载,加载成功,则将当前网址加入到内置的IE Only网址列表中,若浏览器通过WebKit标签页对网页进行,并加载成功,则将当前网址从内置的IE Only网址列表中移除。

步骤203,通过WebKit标签页113对网页进行加载;

步骤204,打开虚拟化IE标签页112并加载网页;

该步骤中,虚拟化IE标签页112,将Web App模块131提供的IE网页嵌入到标签页中进行虚拟化,并进行加载;加载的网页的标签ID hash后可作为参数传给远程服务器。

步骤205,控制并更新IE网页的标签的状态。

该步骤中,Linux浏览器110的无缝浏览控制支持组件114,连接windows端200,将虚拟化IE标签页112加载的IE网页对应的IE行为控制命令传递给Windows端200,Windows端200接收IE行为控制命令,并将IE状态改变信息发送给无缝浏览控制支持组件114,无缝浏览控制支持组件114控制IE的行为,将IE状态改变信息传递给虚拟化IE标签页112,虚拟化IE标签页112根据IE状态改变信息更新IE标签的状态。

具体地,无缝浏览控制支持组件114,连接windows端200的无缝浏览控制服务模块210,将虚拟化IE标签页加载的IE网页对应的IE行为控制命令传递给与其相连接的无缝浏览控制服务模块210;无缝浏览控制服务模块210将接收到的上述IE行为控制命令发送给windows端200的IE浏览辅助插件220;IE浏览辅助插件220根据上述IE行为控制命令,对IE的行为进行控制;IE浏览辅助插件220对当前IE所对应的标签ID进行解析,连接无缝浏览控制服务模块210,将接收的IE状态改变信息发送给无缝浏览控制服务模块210;无缝浏览控制服务模块210将IE行为控制命令发送给无缝浏览控制支持组件114。

全屏IE模块,生成与IE行为控制命令相对应的参数指令。其中,参数指令包括:用-k参数启动的IE网页,页面内容全屏显示,不显示标题栏、地址栏、工具栏等参数指令

其中,IE行为控制命令包括:IE标签的前进、后退及更改网址等命令。

其中,IE状态改变信息包括:IE的前进、后退状态改变,当前网址改变,在新标签中打开指定网址。

虚拟化IE启动时,IE浏览辅助插件220会自动随之启动,IE浏览辅助插件220能获取虚拟化IE实例的IWebBrower2接口,通过此接口对IE实例进行有效控制。当此IE实例的前进、后退、当前网址等状态有改变时,需要通知Linux端100更新相应IE标签的状态(如前进、后退按钮是否禁用,以及地址栏中的网址)。而当此IE实例需要在新标签中打开指定的网址时,也需要通知Linux端100新开一个标签,并打开指定的网址。

本发明的Linux浏览器实现WebKit/IE双核无缝浏览系统及方法,有效地将IE内核融合到标签中,默认用WebKit内核打开网页,而对于IE网页则切换到IE内核打开,保证了系统的兼容性。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1