网络浏览器切换历史网页的方法及网络浏览器的制造方法

文档序号:6486369阅读:120来源:国知局
网络浏览器切换历史网页的方法及网络浏览器的制造方法
【专利摘要】本发明公开了一种网络浏览器切换历史网页的方法及对应的网络浏览器,所述网络浏览器缓存模块和网页切换模块。缓存模块用于在网络浏览器展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源;网页切换模块用于在网络浏览器收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。利用本发明,可以提高网络浏览器切换历史网页的切换速度。
【专利说明】网络浏览器切换历史网页的方法及网络浏览器
【技术领域】
[0001]本发明涉及网络浏览器【技术领域】,尤其涉及一种网络浏览器切换历史网页的方法及网络浏览器。
【背景技术】
[0002]网络浏览器是指万维网(Web)服务的客户端浏览程序,网络浏览器可向Web服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。
[0003]网络浏览器在浏览网页时,会形成一个所访问的历史网页的列表,其中记录有用户曾经浏览过的历史网页地址。当用户点击网络浏览器上的后退按钮时,网络浏览器在所述列表中记录当前浏览的网页,同时根据访问历史列表的记录,后退到刚才浏览过的前一个历史网页;之后,如果用户点击网络浏览器上的前进按钮,则网络浏览器可以根据访问历史列表的记录,前进到当前视窗所示网页的后一个历史网页。当然,对于用户来讲,期望网络浏览器能够快速地显示历史网页。为了满足这个需求,网络浏览器的页面缓存技术应运而生。
[0004]网络浏览器的页面缓存技术的主要方案是:在网络浏览器对网页内的资源发生了第一次请求之后,把资源中的一部分数据存储在数据处理设备的页面缓存中,当网络浏览器退回到历史网页,再次对该历史网页发出请求的时候,按照特定的策略加载所述页面缓存的资源,减少HTTP请求次数与传输数据量,以此提高展示历史网页的速度。
[0005]目前,在与本发明最接近的现有技术中,所述利用网络浏览器页面缓存技术进行历史网页切换的具体处理方式包括如下步骤Al:
[0006]A、网络浏览器在展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存(PageChache)中。所述当前网页的资源包括:文档对象模型(DOM,Document ObjectModel)树、以及网页执行资源。例如具体可以调用javascript (简称JS)的unload回调操作缓存所述内容。
[0007]所述DOM用于描述网页的信息,它将网页中的各个元素都看作一个个对象,从而使网页中的元素也可以被计算机语言获取或者编辑。DOM树是以层次结构组织的节点或信息片断的集合,这个层次结构允许开发人员在树中导航寻找特定信息。所述网页执行资源例如是级联样式表(CSS, Cascading Style Sheet)属性信息、javascript (简称JS)执行状态信息以及其他状态信息等,网络浏览器通过解析DOM树和网页执行资源,可以获知网页的结构和功能,从而对用户针对网页的操作指令做出对应的响应。
[0008]B、当网络浏览器将当前视窗重新切换到一个历史网页时,如用户点击后退按钮切换到上一个历史网页,或者点击后退按钮后再点击前进按钮切换到下一个历史网页,在这里将该切换后的历史网页称为目标历史网页。在切换到一个目标历史网页时,首先从所述页面缓存中读取该目标网页对应的DOM树和网页执行资源,并载入所述DOM树和网页执行资源;之后进行重新排版,所述重新排版就是根据所述DOM树、CSS属性信息、JS资源的执行状态信息等,重新建立具有有效数据的Render树,以备该目标网页显示到当前网络浏览器视窗之用。所述Render树用于布局,具体负责DOM树如何显示在网络浏览器的视窗内,同一个DOM树,可以对应不同的Render树,从而可以在网络浏览器视窗内显不出灵活多变的网页。
[0009]C、对目标历史网页建立DOM树节点与视窗位置的对应关系表。
[0010]D、按照所建立的Render树在网络浏览器的当前视窗内绘制目标网页,完成对目标网页的切换。
[0011]所述步骤C是现有网络浏览器技术的一种显示与交互机制。比如,在建立好所述对应关系表后,当用户点击网络浏览器视窗内的某点时,该机制就会从预先建立好的所述DOM树节点与视窗位置的对应关系表中获知用户所点击的位置是哪个DOM节点,从而可以对该DOM节点做出较快速的反应处理。
[0012]但是,现有的这种利用网络浏览器页面缓存技术进行历史网页切换的方案中,历史网页的切换速度还是较慢,尤其是在计算资源和网络带宽资源都很有限的移动互联网设备(如智能手机、掌上电脑、平板电脑等)上使用的网络浏览器,网页切换的速度会更慢,严重影响了用户正常的网页浏览体验。

【发明内容】

[0013]有鉴于此,本发明的主要目的在于提供一种网络浏览器切换历史网页的方法和对应的网络浏览器,以提高网络浏览器切换历史网页的切换速度。
[0014]本发明的技术方案是这样实现的:
[0015]一种网络浏览器切换历史网页的方法,包括:
[0016]网络浏览器在展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括文档对象模型DOM树、渲染Render树、和网页执行资源;
[0017]网络浏览器在收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
[0018]一种网络浏览器,包括:
[0019]缓存模块,用于在网络浏览器展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源;
[0020]网页切换模块,用于在网络浏览器收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,在浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
[0021]与现有技术相比,本发明改进了对历史网页的缓存管理以及切换时的绘制方式,在缓存时需要缓存DOM树、Render树和网页执行资源,在收到切换目标历史网页的指令后,省去了现有技术中重新排版重建Render树的步骤,而是根据页面缓存中的该目标历史网页的Render树绘制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页,从而使得目标历史网页在第一时间出现在网络浏览器的当前视窗内,同时或之后从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源,用于使网络浏览器可以对用户针对网页的操作指令做出对应的响应。由于整个切换过程省略了重新排版重建Render树的步骤,因此本发明提高了网络浏览器切换历史网页的切换速度。
[0022]同时,由于用户在发出切换目标历史网页的指令后,希望尽快看到目标历史网页,再对该目标历史网页进行操作(如点击其中的链接等操作),有时用户甚至不会对目标历史网页进行操作,只希望看到目标历史网页的内容即可,从用户看到目标历史网页到对该网页进行操作之间有一个时间差,本发明先利用缓存的Render树绘制目标历史网页供用户在第一时间查看网页内容,同时或之后利用所述时间差载入该目标历史网页的DOM树和网页执行资源以响应用户迟后的操作,因此本发明不但提高了网络浏览器切换历史网页的实际处理速度,而且从用户感知的角度也进一步提升了历史网页的切换速度,使得用户在发出切换指令后快速地查看到目标历史网页。
【专利附图】

【附图说明】
[0023]图1为本发明所述网络浏览器切换历史网页的方法的一种流程图;
[0024]图2为本发明所述网络浏览器采用动画方式切换历史网页的一种具体实施流程图;
[0025]图3为本发明所述网络浏览器的一种组成示意图;
[0026]图4为所述网页切换模块的一种组成示意图。
【具体实施方式】
[0027]下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0028]图1为本发明所述网络浏览器切换历史网页的方法的一种流程图。参见图1,该方法主要包括:
[0029]101、网络浏览器在展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源;
[0030]102、网络浏览器在收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
[0031]本发明所述的网络浏览器并不仅仅是指仅具有浏览网页功能的常规的网络浏览器,而且还可以是指具有浏览网页功能的任何客户端。所述页面缓存是在网络浏览器所在设备的内存中所划分出的缓存区域。
[0032]本发明中,所述将当前网页的资源缓存在页面缓存中的操作可以在网络浏览器展示当前网页时进行,也可以是在收到切换指令而离开当前网页时进行。所述切换指令例如可以是用户点击后退按钮切换到上一个历史网页,或者点击后退按钮后再点击前进按钮切换到下一个历史网页。本文中将该切换后的历史网页称为目标历史网页,将切换前的网页称为当前网页。所述网页执行资源例如是级联样式表(CSS,Cascading Style Sheet)属性信息、javascript (简称JS)执行状态信息以及其他状态信息等。所述CSS是用来进行网页风格设计的。比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过CSS属性信息,可以统一地控制HTML中各标志的显不属性,可以使网络浏览器更能有效地控制网页外观。所述JS执行状态信息是JS对网页的操作执行信息,例如JS的定时操作规定在指定的时间(如30秒)之后执行某个特定的网页效果等。网络浏览器通过解析DOM树和网页执行资源,可以获知网页的结构和功能,从而对用户针对网页的操作指令做出对应的响应。
[0033]本发明在缓存时需要缓存DOM树、Render树和网页执行资源,在收到切换目标历史网页的指令后,省去了现有技术中重新排版重建Render树的步骤,而是先载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页,从而使得目标历史网页在第一时间出现在网络浏览器的当前视窗内,由于Render树是用于布局显示网页的,因此此时网络浏览器的视窗内所显示的是该目标历史网页的一张图像,用户还无法对该图像进行操作,但是对于用户来讲,能够在切换网页后的极短时间内看到目标历史网页的图像已经足够,用户可以浏览目标历史网页中的内容。在用户浏览目标历史网页内容的同时,网络浏览器再从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源,通过DOM树和网页执行资源,网络浏览器可以获知网页的结构和功能,从而可以对用户针对网页的操作指令做出对应的响应。由于整个切换过程省略了重新排版重建Render树的步骤,因此本发明提高了网络浏览器切换历史网页的切换速度。
[0034]由于对于那些当初未加载完就存入历史缓存的网页,在载入该页面缓存的资源时,网络浏览器的资源加载器会启动继续完成未加载的资源(如图片或者JS资源等),这些新加载进来的资源可能会影响所缓存的Render树的某些屏幕区域的有效性,导致这些屏幕区域的数据无效,这个无效的屏幕区域需要被重新绘制,这个需要被重新绘制的区域称为脏区域。
[0035]现有技术中,为了使切换后的目标历史网页的Render树的数据都为有效数据,采用了完全重新排版重建Render树的操作,导致了切换速度的缓慢。然而,在本发明的一种实施例中,为了在加快切换速度的同时保持目标历史网页Render树的有效性,可以在网络浏览器的当前视窗内绘制网页后,进一步包括脏区域的判断重构操作,即:判断页面缓存中的所述目标历史网页的Render树中对应当前视窗的区域(即当前终端屏幕上显示的网页区域)是否存在脏区域,如果存在则重新构建该Render树中的该脏区域,并依照重新构建后的Render树在当前视窗内绘制网页。
[0036]一个网页的Render树中的某个区域的数据变化通常是通过JS代码从服务器获取的,本实施例中,在所述脏区域的判断重构操作中,所述网络浏览器通常通过执行当前视窗区域所示网页的JS代码从服务器获取最新的数据,并判断Render树中对应当前视窗的区域中的数据是否与最新获取的数据相同,如果不同,则确定该不同数据所在的区域为脏区域,并依照从服务器获取的最新数据重新构建该Render树中的该脏区域,并依照重新构建后的Render树在当前视窗内绘制网页。在此之后,用户每调整(例如通过滚动、拖拽操作当前视窗内的目标历史网页来调整)一次目标历史网页在当前视窗的显示区域,则都会执行一次所述脏区域的判断重构操作,从而使得当前视窗的显示区域中所显示的目标历史网页的数据为最新数据。
[0037]由于上述脏区域的判断重构操作只涉及到整个Render树中的一部分区域,因此所耗费的时间比起重构整个Render树来说要少的多,这样既加快了历史网页的切换速度,又保证了切换后的目标历史网页的数据有效性。
[0038]另外,本发明还省略了现有技术中在切换目标历史网页过程中的建立DOM树节点与视窗位置的对应关系表的步骤,改为待切换好目标历史网页后,即在从所述页面缓存中载入目标历史网页的DOM树和网页执行资源后,进一步包括:在收到用户的点击指令后,实时响应计算所点击位置对应的DOM树节点,并对该DOM树节点做出对应的处理。从而在不影响现有技术切换目标历史网页所具有的功能的前提下,进一步提升了历史网页的切换速度。
[0039]在一种实施例中,所述计算所点击位置对应的DOM树节点的具体方法包括一下步骤(a广步骤(C):
[0040](a)确定所点击位置在当前视窗内的坐标。
[0041](b)根据Render树中框架(frame)的区域位置信息,确定所述坐标所属的frame。所述frame是网页中一个特定的子窗口,在网页的Render树中会包括该网页所有的frame的区域位置信息(例如每个frame的四角的坐标位置),在本步骤中,本发明可以遍历所述Render树中的frame区域位置信息,从而查找到所述坐标所属的frame。
[0042](c)在所确定的frame内,确定所述坐标对应的Render节点,并依照所述Render树与DOM树的关系确定最终对应的DOM节点。所述Render树中的Render节点都具有坐标信息,在本步骤中,具体可以是遍历所确定的frame内的所有Render节点,从而确定所述坐标对应的Render节点。所述依照所述Render树与DOM树的关系确定最终对应的DOM节点,具体可以根据现有的换算方法,根据所述Render节点换算出对应的DOM节点。
[0043]上述实施例中,在收到切换指令后,所述在网络浏览器的当前视窗内显示所绘制的目标历史网页的具体方式为:在网络浏览器的当前视窗内直接显示所绘制的目标历史网页。在另外的实施例中,为了能够提高目标历史网页切换过程中的流畅度,本发明还进一步采用了切换动画的方案,即:在网络浏览器收到切换目标历史网页的指令后,进一步包括:根据切换前网页的Render树绘制切换前网页;所述在网络浏览器的当前视窗内显示所绘制的目标历史网页的具体方式为:在网络浏览器的当前视窗内以动画方式渐进地退出所绘制的切换前网页直至该切换前网页从当前视窗内消失,同时以动画方式渐进地显示所绘制的目标历史网页直至当前视窗只显示该目标历史网页。所述渐进地退出和显示的具体方式可以有多种形式,例如可以是目标历史网页渐入,切换前网页被挤出屏幕的效果形式。
[0044]目前现有技术中的网络浏览器(比如开源的安卓系统网络浏览器)在切换历史网页时是没有采用动画切换方式的。当用户浏览网页,执行前进或者后退的操作时,屏幕显示内容直接由原网页转换为前进或者后退的目标历史网页,这种方式使的用户浏览网页时不流畅,因此,本发明上述实施例在进行历史网页切换如前进或者后退时增加动画切换效果,不但能够提高目标历史网页切换过程中的流畅度,还可以提高用户的舒畅感,增进用户体验。
[0045]图2为本发明所述网络浏览器采用动画方式切换历史网页的一种具体实施流程图。假设该实施例中,每当网络浏览器离开当前网页时,则将当前网页的DOM树、Render树、和网页执行资源缓存在页面缓存中,当切换历史网页时,参见图2,网络浏览器执行的具体步骤包括:[0046]步骤201、监测到切换目标历史网页的指令。如用户发出的指示浏览器前进或后退的指令。
[0047]步骤202、载入页面缓存中的该目标历史网页的Render树,并根据该Render树绘制目标历史网页Pl ;同时根据切换前网页(即当前网页)的Render树绘制切换前网页P2,本领域技术人员知道,在切换网页时,切换前网页的Render树对于网络浏览器是已知的,因此可以直接根据该Render树绘制切换前网页。
[0048]之后,本实施例中同时执行切换动画过程、和缓存及目标历史网页载入过程。参见图2,所述切换动画过程参见步骤203a?步骤203b,所述缓存及目标历史网页载入过程参见步骤203A?步骤203B。
[0049]步骤203a、仓Il建动画对象,设置动画持续时长。所述动画持续时长可以为预先指定的值。
[0050]步骤203b、网络浏览器调用绘制函数(例如手机操作系统中的WebView的onDraw回调函数)绘制动画。在绘制每帧动画时,需要判断动画持续时长是否结束,如果没有结束,则判断到目前为止动画执行的时长占动画总时长的比例,然后计算出所述网页Pl与P2要显示的相对偏移,然后根据所述相对偏移分别以渐渐式的动画方式将所述两个页面Pl和P2绘制显示到网络浏览器的当前视窗上,所述两个网页Pl和P2可以是局部地显示,目标历史网页Pl逐渐进入当前视窗,切换前网页P2逐渐退出当前视窗,直到动画结束,则只绘制显示目标历史网页Pl。
[0051]上述动画的绘制过程是由手机操作系统中自带的WebView的onDraw回调函数实现的,所述动画方式还可以通过自绘控件来实现,达到比系统自有的动画有更好的效率,以及流畅度,至于采用何种自绘控件,本领域的技术人员可以任意选择公知的自绘控件,本文不再赘述。另外,所述动画还可以通过手机操作系统(如Andriod操作系统)的公共类(public class)如surface_view类来实施,通过单独线程来完成对屏幕动画的绘制,优势在于surface-view在绘制时可以规定绘制的层级关系、遮盖关系,使得动画可以在最上面执行,而下面依然可以执行网络浏览器原来的绘制动作,这样就不需要改变、屏蔽原来的代码逻辑,对网络浏览器的改造成本较低。
[0052]步骤203A、将当前网页即切换前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源,例如CSS属性信息、JS执行状态信息以及其他状态信息等。
[0053]步骤203B、从所述页面缓存中载入所述目标历史网页的DOM树和网页执行资源。通过DOM树和网页执行资源,网络浏览器可以获知网页的结构和功能,从而可以对用户针对网页的操作指令做出对应的响应。
[0054]步骤204、所述切换动画结束,所述目标历史网页载入也完成,此时网页切换过程完成。
[0055]在上述实施例中,省略了现有技术中在切换目标历史网页过程中的建立DOM树节点与视窗位置的对应关系表的步骤,改为待切换好目标历史网页后,在收到用户的点击指令后,实时响应计算所点击位置对应的DOM树节点,并对该DOM树节点做出对应的处理。从而在不影响现有技术切换目标历史网页所具有的功能的前提下,进一步提升了历史网页的切换速度。之后,[0056]图3为本发明所述网络浏览器的一种组成示意图。该网络浏览器用于执行本发明所述的方法,该网络浏览器是对现有网络浏览器的改进,除了包括现有网络浏览器的结构功能外,还具体包括:
[0057]缓存模块301,用于在网络浏览器展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源。
[0058]网页切换模块302,用于在网络浏览器收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
[0059]图4为所述网页切换模块的一种组成示意图。参见图4,该网页切换模块302具体包括:第一载入子模块401、网页绘制子模块402、显示子模块403和第二载入子模块404 ;
[0060]所述第一载入子模块401用于在网络浏览器收到切换目标历史网页的指令后,首先载入页面缓存中的该目标历史网页的Render树;
[0061]所述网页绘制子模块402用于根据所载入的Render树绘制目标历史网页;
[0062]所述显示子模块403用于在网络浏览器的当前视窗内显示所绘制的目标历史网页;
[0063]所述第二载入子模块404用于从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
[0064]如图4中的虚线所示,在一种实施例中,所述网页切换模块302中进一步包括脏区域重构子模块405,用于在所述第一载入子模块401载入页面缓存中的目标历史网页的Render树后,判断该Render树中对应当前网络浏览器视窗的区域是否存在脏区域,如果存在则重新构建该Render树中的该脏区域,并触发所述网页绘制子模块402依照重新构建后的Render树绘制目标历史网页,之后触发显示子模块403在网络浏览器的当前视窗内显示所绘制的目标历史网页。
[0065]如图4中的虚线所示,在另一种实施例中,所述网页切换模块302中还可进一步包括DOM节点实时计算子模块406,用于在所述第二载入子模块404从所述页面缓存中载入目标历史网页的DOM树和网页执行资源后,判断是否收到用户的点击指令,一旦收到,则实时计算所点击位置对应的DOM树节点,并触发浏览器对该DOM树节点做出对应的处理。
[0066]在另一种实施例中,为了实现切换历史网页时的动画切换效果,所述网页绘制子模块402进一步用于根据切换前网页的Render树绘制切换前网页;所述显示子模块403中进一步用于:在网络浏览器的当前视窗内以动画方式渐进地退出所绘制的切换前网页直至该切换前网页从当前视窗内消失,同时以动画方式渐进地显示所绘制的目标历史网页直至当前视窗只显示该目标历史网页。
[0067]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种网络浏览器切换历史网页的方法,其特征在于, 网络浏览器在展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括文档对象模型DOM树、渲染Render树、和网页执行资源; 网络浏览器在收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
2.根据权利要求1所述的方法,其特征在于,该方法在载入页面缓存中的目标历史网页的Render树后,进一步包括:判断该Render树中对应当前网络浏览器视窗的区域是否存在脏区域,如果存在则重新构建该Render树中的该脏区域,依照重新构建后的Render树绘 制目标历史网页,并在网络浏览器的当前视窗内显示所绘制的目标历史网页。
3.根据权利要求1所述的方法,其特征在于,该方法在从所述页面缓存中载入目标历史网页的DOM树和网页执行资源后,进一步包括:在收到用户的点击指令后,实时计算所点击位置对应的DOM树节点,并对该DOM树节点做出对应的处理。
4.根据权利要求3所述的方法,其特征在于,所述计算所点击位置对应的DOM树节点的具体方法包括: 确定所点击位置在当前视窗内的坐标; 根据所述Render树中框架frame的区域位置信息,确定所述坐标所属的frame ; 在所确定的frame内,确定所述坐标对应的Render节点,并依照所述Render树与DOM树的关系确定最终对应的DOM节点。
5.根据权利要求1所述的方法,其特征在于,所述网络浏览器在收到切换目标历史网页的指令后,进一步包括:根据切换前网页的Render树绘制切换前网页; 所述在网络浏览器的当前视窗内显示所绘制的目标历史网页的具体方式为:在网络浏览器的当前视窗内以动画方式渐进地退出所绘制的切换前网页直至该切换前网页从当前视窗内消失,同时以动画方式渐进地显示所绘制的目标历史网页直至当前视窗只显示该目标历史网页。
6.一种网络浏览器,其特征在于,包括: 缓存模块,用于在网络浏览器展示当前网页或者离开当前网页时,将当前网页的资源缓存在页面缓存中,所述缓存的资源至少包括DOM树、Render树、和网页执行资源; 网页切换模块,用于在网络浏览器收到切换目标历史网页的指令后,载入页面缓存中的该目标历史网页的Render树,根据该Render树绘制目标历史网页,在浏览器的当前视窗内显示所绘制的目标历史网页;同时或之后,从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
7.根据权利要求6所述的网络浏览器,其特征在于,所述网页切换模块包括第一载入子模块、网页绘制子模块、显示子模块和第二载入子模块; 所述第一载入子模块用于在网络浏览器收到切换目标历史网页的指令后,首先载入页面缓存中的该目标历史网页的Render树; 所述网页绘制子模块用于根据所载入的Render树绘制目标历史网页; 所述显示子模块用于在网络浏览器的当前视窗内显示所绘制的目标历史网页;所述第二载入子模块用于从所述页面缓存中载入该目标历史网页的DOM树和网页执行资源。
8.根据权利要求7所述的网络浏览器,其特征在于,所述网页切换模块中进一步包括脏区域重构子模块,用于在所述第一载入子模块载入页面缓存中的目标历史网页的Render树后,判断该Render树中对应当前网络浏览器视窗的区域是否存在脏区域,如果存在则重新构建该Render树中的该脏区域,并触发所述网页绘制子模块依照重新构建后的Render树绘制目标历史网页,之后触发显示子模块在网络浏览器的当前视窗内显示所绘制的目标历史网页。
9.根据权利要求7所述的网络浏览器,其特征在于,所述网页切换模块中进一步包括DOM节点实时计算子模块,用于在所述第二载入子模块从所述页面缓存中载入目标历史网页的DOM树和网页执行资源后,判断是否收到用户的点击指令,一旦收到,则实时计算所点击位置对应的DOM树节点,并触发网络浏览器对该DOM树节点做出对应的处理。
10.根据权利要求7所述的网络浏览器,其特征在于,所述网页绘制子模块进一步用于根据切换前网页的Render树绘制切换前网页; 所述显示子模块中进一步用于:在网络浏览器的当前视窗内以动画方式渐进地退出所绘制的切换前网页直至该切换前网页从当前视窗内消失,同时以动画方式渐进地显示所绘制的目标历史网页直至当前视窗只显`示该目标历史网页。
【文档编号】G06F17/30GK103514179SQ201210207102
【公开日】2014年1月15日 申请日期:2012年6月21日 优先权日:2012年6月21日
【发明者】苏可, 孔利, 刘凡超, 马瑞林 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1