一种浏览器内核切换的方法技术

技术编号:7370856 阅读:255 留言:0更新日期:2012-05-27 13:14
本发明专利技术提供一种双核切换的方法,用于浏览器在浏览网页时在不同浏览器内核之间切换,其包括以下步骤:浏览器检测是否需要切换内核;加载需要切换内核的页面时将前一个内核中的post数据传递给切换到的内核中。

【技术实现步骤摘要】

本专利技术涉及浏览器应用领域,特别是一种浏览器内核切换方法。
技术介绍
浏览器作为网站的浏览工具,其拥有庞大的用户群,几乎每一个需要上网的机器都需要使用浏览器浏览网页。微软公司的IE浏览器凭借强大的惯性和与操作系统的绑定,使其占据着最主流的市场份额。所有研究IE并试图在浏览器领域有所作为的企业,无一例外地首先把矛头对准IE的Trident内核设计。但是由于IE内核在设计方面存在先天不足,IE 一直没能解决的问题很多,这其中包括假死、程序崩溃,载入时间过长等问题。开源浏览器内核webtik便是在这样的环境下而生,包括Google在内的多家其他浏览器均采用了这一技术。不过相对于IE内核多年的兼容性测试来说,webtik尽管在速度、稳定性等多个方面表现出优势,但在兼容性方面却有一定问题。因此很多浏览器采用“双核”的方式提升浏览器的访问网页速度。所谓“双核”, 实际上就是同时基于W^ebKit和Trident两种内核,既能享受W^ebKit的高速,又能兼顾 Trident的兼容性。传统的“双核”浏览器一般采用兼容模式列表使得浏览器能够分辨当前要访问的页面需要什么内核。兼容模式列表或急速模式列表一般非常庞大,不易维护;如果要浏览的网站涉及到跳转到仅支持Trident内核的页面时就会出现异常,因此这类浏览器在遇到类似的问题时则直接将有可能跳转到仅支持Trident内核的页面的网站使用Trident内核访问。这样虽然避免出现异常,但是却使得页面访问速度大为降低,影响了用户使用。
技术实现思路
有鉴于此,为解决上述问题,本专利技术提供了。为了达到上述目的,本专利技术提供,其用于使浏览器针对不同页面使用不同浏览器内核,具体包括以下步骤浏览器判断加载当前页面是否需要切换内核;当浏览器加载需要切换内核的页面时,将第一内核中的post数据传递给切换使用的第二内核中;由第二内核将post数据返回给网页服务器。优选地,所述post数据传递的步骤进一步包括浏览器通过浏览器内核的接口获得第一内核中的post数据。优选地,当所述浏览器跳转到支付网站并加载时需要切换内核。优选地,所述浏览器还通过互联网于浏览器管理服务器进行数据交互,所述方法进一步包括所述浏览器管理服务器获得用户在使用浏览器的过程中需要切换内核的操作,生成内核切换列表;所述浏览器在执行判断加载当前页面是否需要切换内核步骤时,查询所述内核切换列表,并根据查询结果确定是否需要切换内核。优选地,所述内核切换列表的生成方法包括当用户在使用第一内核进行页面跳3转失败且采用第二内核进行页面跳转成功时,所述浏览器记录下这一操作,并将这一操作上传至浏览器管理服务器上;所述浏览器管理服务器将这一跳转操作记录,当再有用户进行同样的跳转操作时令浏览器进行内核切换操作。本专利技术提供的实施例通过传递表单的方法将第一内核数据提交给第二内核处理, 实现了双核切换。附图说明图1是本专利技术一个具体的实施例中浏览器内核切换的方法流程图。 具体实施例方式浏览器最核心的部分是渲染引擎(Rendering Engine),我们一般习惯称之为“浏览器内核”,其负责解析网页语法(如HTML、JavaScript)并渲染、展示网页。因此,所谓的浏览器内核通常也就是指浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解析也有所不同,因此同一网页在不同的内核浏览器里的渲染、展示效果也可能不同。常见的浏览器内核包括(I)TridentTrident (又称为MSHTML),是微软的Windows搭载的网页浏览器——Internet Explorer浏览器使用的内核(俗称IE内核),该内核程序在1997年的IE 4中首次被采用,之后不断地加入新的技术并随着新版本的IE发布。Trident实际上是一款开放的内核, Trident引擎被设计成一个软件组件(模块),使得其他软件开发人员很容易将网页浏览功能加到他们自行开发的应用程序里,其接口内核设计相当成熟,因此涌现出许多采用IE内核而非IE的浏览器,但是Trident只能用于Windows平台。由于IE本身的“垄断性”而使得Trident内核在很长时间内都是一家独大,微软也在相当长一段时间内都没有更新Trident内核,这就导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节;二是Trident内核的大量Bug等安全性问题没有得到及时解决。目前,微软对Trident排版引擎做了重大变动,除了加入新的技术之外,还增加了对网页标准的支持。尽管这些变动已经在相当大的程度上落后了其他的排版引擎。(2) GeckoGecko是开放源代码、以C++编写的网页排版引擎,目前被Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。由于Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。Gecko排版引擎提供了一个丰富的程序界面以供与互联网相关的应用程序使用, 例如网页浏览器、HTML编辑器、客户端/服务器等。此外Gecko也是一个跨平台内核,可以在 Windows、BSD、Linux 禾口 Mac OS X 中使用。(3) PrestoPresto是一个由Opera Software开发的浏览器排版引擎。I^resto的特点就是渲染速度的优化达到了极致,它是目前公认的网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。Presto实际上是一个动态内核,与Trident、GeCk0等内核的最大区别就在于脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。(4) WebKitWebKit是一个开放源代码的浏览器引擎(Web Browser Engine),W^ebKit最初的代码来自KDE的KHTML和KJS (它们均为开放源代码,都是自由软件,在GPL协议下授权)。 所以WebKit也是自由软件,同时开放源代码。目前很多双核技术基本都是采用Trident内核+WebKit内核的形式,单纯地采用第一内核访问第一页面并用第二内核访问第二页面并不会有问题。但是如果第一内核访问的第一页面需要跳转到第二页面时,采用第二内核加载页面时就会出现载入失败的情况。 经过分析浏览器内核间数据发现,在浏览器切换内核时,由于post表单数据没有传递过来导致失败。最普遍的情况是购物网站切换到支付网站的情况。由于支付网站往往为了安全、 稳定和兼容的需要,非常依赖Trident内核,而使用其他内核在跳转时会导致错误,而如果在购物网站使用WebKIt内核而在支付网站使用Trident内核也会导致错误。因此针对现有技术中双核切换会带来的问题,本专利技术提供。具体请参看图1所示,本专利技术提供的方法包括以下步骤。步骤101,浏览器判断加载当前页面是否需要切换内核;步骤102,当浏览器加载需要切换内核的页面时,将第一内核中的post数据传递给切换使用的第二内核中;步骤103,由第二内核将post数据返回给网页服务器。在一个具体的实施例中,浏览器默认状态下使用高速的WebKit内核,而当浏览器跳转到支付网站并加载时,切换到Trident内核。浏览器通过本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:田亮
申请(专利权)人:奇智软件北京有限公司
类型:发明
国别省市:

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

1
相关领域技术