CN108255890B - 页面的处理方法和装置 - Google Patents
页面的处理方法和装置 Download PDFInfo
- Publication number
- CN108255890B CN108255890B CN201611266515.1A CN201611266515A CN108255890B CN 108255890 B CN108255890 B CN 108255890B CN 201611266515 A CN201611266515 A CN 201611266515A CN 108255890 B CN108255890 B CN 108255890B
- Authority
- CN
- China
- Prior art keywords
- page
- instruction
- mapping object
- kernel mapping
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Abstract
本发明公开了一种页面的处理方法和装置。其中,该方法包括:接收第一指令,其中,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;响应于所述第一指令,检测是否已缓存所述第二页面的内核映射对象,其中,所述第二页面的内核映射对象中记录有所述第二页面的页面信息;在检测出已缓存所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。本发明解决了切换页面的处理速度慢的技术问题。
Description
技术领域
本发明涉及信息处理领域,具体而言,涉及一种页面的处理方法和装置。
背景技术
现有技术中,用户可以通过浏览器浏览网页,在浏览网页的过程中,可以通过网页上记录的前进或后退按钮执行前进或后退操作,以浏览当前页面的上一页面或当前页面的下一页面。在现有技术中,在执行前进或后退操作时,获取上一页面或下一页面均需要重新加载网络资源、重新解析获取到的网络资源、以及对解析的资源重新进行排版,以展示上一页面或下一页面。
下面结合图1至图4详细说明现有技术,如图1所示,在窗口中展示A页面,A页面的地址栏11中记载了A页面的网络资源地址为:http://www.aaa.com。该A页面上记录有前进按钮13和后退按钮15,图1中的前进按钮被按下,生成前进指令,响应于该前进指令,地址栏中的记录的网络资源地址变更为B页面的网络资源地址:http://www.bbb.com(如图2所示),进度条21开始加载,并且图1中的刷新按钮17变更为停止按钮23,如图2所示,窗口中显示的内容仍然为A页面的内容。如图3所示,随着进度条的加载,B页面中的内容以渐进的方式显示。如图4所示,在页面加载完毕之后,进度条隐藏,停止按钮变为刷新按钮,网页显示B页面的信息。
通过现有技术中的处理方式,前进或后退过程较慢,并且重新加载B页面的网络资源浪费了用户的流量,另外,页面的离开状态与返回时的状态不一致,某些页面需要用户重新操作。
针对上述切换页面的处理速度慢的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种页面的处理方法和装置,以至少解决切换页面的处理速度慢的技术问题。
根据本发明实施例的一个方面,提供了一种页面的处理方法,包括:接收第一指令,其中,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;响应于所述第一指令,检测是否已缓存所述第二页面的内核映射对象,其中,所述第二页面的内核映射对象中记录有所述第二页面的页面信息;在检测出已缓存所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。
根据本发明实施例的另一方面,还提供了一种页面的处理装置,包括:第一接收单元,用于接收第一指令,其中,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;第一检测单元,用于响应于所述第一指令,检测是否已缓存所述第二页面的内核映射对象,其中,所述第二页面的内核映射对象中记录有所述第二页面的页面信息;第一展示单元,用于在检测出已缓存所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。
在本发明实施例中,在网页排版引擎的内核进程接收到主线程发送的第一指令之后,检测是否已缓存第二页面的内核映射对象,在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。在上述实施例中,在接收到用通知切换页面的消息之后,获取已缓存的目标页面(即上述的第二页面)的内核映射对象,按照该内核映射对象记录的目标页面信息展示第二页面,而无需从服务器获取该第二页面的网络资源,也无需对其进行进一步地解析和渲染,大大提高了切换页面的处理速度,解决了现有技术中切换页面的处理速度慢的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术的一种可选的页面的处理方法的界面示意图一;
图2是现有技术的一种可选的页面的处理方法的界面示意图二;
图3是现有技术的一种可选的页面的处理方法的界面示意图三;
图4是现有技术的一种可选的页面的处理方法的界面示意图四;
图5是根据本发明实施例的页面的处理方法的硬件环境的示意图;
图6是根据本发明实施例的一种可选的页面的处理方法的流程图一;
图7是现有技术的网页排版引擎的架构图;
图8是根据本发明实施例的一种可选的网页排版引擎的架构图;
图9是根据本发明实施例的一种可选的页面的处理方法的流程图二;
图10是根据本发明实施例的一种可选的页面的处理方法的流程图三;
图11是根据本发明实施例的一种可选的页面的处理方法的流程图四;
图12是根据本发明实施例的一种可选的页面的处理方法的界面示意图五;
图13是根据本发明实施例的一种可选的页面的处理方法的界面示意图一;
图14是根据本发明实施例的一种可选的页面的处理方法的界面示意图二;
图15是根据本发明实施例的一种可选的页面的处理装置的示意图;以及
图16是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
主线程,是用于实现用户交互界面的线程。
内核线程,网页的呈现涉及逻辑非常复杂,为了避免用户交互界面迟滞卡顿,部分逻辑被独立到一个特定的线程中执行,这个线程被称为内核线程。
Chromium,一个开源的浏览器项目。
Blink是Chromium项目中使用的网页排版引擎。
WebKit是Apple公司的Safari浏览器使用的网页排版引擎。
IPC即Inter-process Communication,进程间通信,指至少两个进程或线程间传递数据或信号的方法。
根据本发明实施例,提供了一种页面的处理的方法实施例。
可选地,在本实施例中,上述页面的处理方法可以应用于如图5所示的由服务器102和终端104所构成的硬件环境中。如图5所示,服务器102通过网络与终端104进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104并不限定于PC、手机、平板电脑等。本发明实施例的页面的处理方法可以由服务器102来执行,也可以由终端104来执行,还可以是由服务器102和终端104共同执行。其中,终端104执行本发明实施例的页面的处理方法也可以是由安装在其上的客户端来执行。
可选地,该终端上可以安装页面浏览应用程序,以执行上述的页面的处理方法,例如,浏览器应用程序,通过该浏览器应用程序可以用于显示网页服务器或者文字系统的HTML(超文本标记语言)文件内容的应用程序。
例如,用户可以通过终端上安装的浏览器浏览页面,用户可以在终端上启动浏览器,在启动浏览器之后,在浏览器的地址栏中输入网址,点击跳转按键,以生成浏览请求,该浏览请求中携带有输入的网址,在将该浏览器发送至服务器上之后,服务器获取该网址的网络资源,将该网址的网络资源返回给终端,终端对接收到的信息进行解析和渲染,并将网页展示在浏览器的界面上。
在浏览网页的过程中,可以通过网页上记录的前进或后退按钮执行前进或后退操作,以浏览当前页面的上一页面或当前页面的下一页面,本申请提供了一种页面的处理方法,通过该页面的处理方法,无需重新获取上一页面或下一页面的信息,直接利用缓存的信息进行页面展示。
图6是根据本发明实施例的一种可选的页面的处理方法的流程图一,如图6所示,该方法应用于内核进程,该内核进程为网页排版引擎的内核进程,其中,该方法可以包括以下步骤:
步骤S602:接收第一指令,其中,第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;
步骤S604:响应于第一指令,检测是否已缓存第二页面的内核映射对象,其中,第二页面的内核映射对象中记录有第二页面的页面信息;
步骤S606:在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
通过上述实施例,在网页排版引擎的内核进程接收到主线程发送的第一指令之后,检测是否已缓存第二页面的内核映射对象,在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。在上述实施例中,在接收到用通知切换页面的消息之后,获取已缓存的目标页面(即上述的第二页面)的内核映射对象,按照该内核映射对象记录的目标页面信息展示第二页面,而无需从服务器获取该第二页面的网络资源,也无需对其进行进一步地解析和渲染,大大提高了切换页面的处理速度,解决了现有技术中切换页面的处理速度慢的问题。
在步骤S602提供的技术方案中,第一指令至少包含两部分内容,一部分内容为消息标识,另一部分内容为消息参数。内核进程接收到该第一指令之后,识别该第一指令,并响应该第一指令进行相应处理。
其中,消息标识用于标识该消息的类型,该消息的类型用于指示内核进程执行的操作,可选地,消息标识与消息的类型具有对应关系。
例如,消息标识为100,则可以从标识类型的对应表中查找100对应的类型,若确定出100对应的类型为:转换类型,则可以确定需内核线程执行的操作为转换操作。
上述的消息参数可以指需执行操作的操作参数,不同操作对应不同属性的参数,例如,消息的类型对应转换操作,则该操作参数可以包括:当前页面的标识和切换的目标页面的标识,对应于上述实施例,当前页面为第一页面,目标页面为第二页面。
又如,消息的类型对应缩放操作,该操作参数可以包括:缩放尺寸、或缩放倍数。例如,若用户指示将当前页面缩放一半,则可以在指令中记录缩放后的尺寸(即缩放参数):1280*720。
再如,消息的类型对应滚动页面操作,则该操作参数可以包括:滚动结束位置,该滚动结束位置可以为滚动结束行的行号,例如,若用户指示将当前页面滚动至177行,则可以在指令中记录该行号:177。
在步骤S604提供的技术方案中,在识别出该第一指令指示内核进程将标签窗口中的第一页面切换至第二页面的情况下,检测是否已经缓存该第二页面的内核映射对象。
可选地,第二页面的内核映射对象中记录有该第二页面的页面信息,该页面信息包括:网页文档、框架视图以及网页脚本对象,通过该页面信息可以直接展示该第二页面。
在上述实施例中,通过第二页面的内核映射对象获取网络资源,对该网络资源进行解析,得到解析数据,对该解析数据进行渲染,以得到该第二页面的页面信息。
第二页面的内核映射对象用于处理该第二页面的各种消息,该各种消息用于指向不同的操作,该不同的操作包括:缩放、和滚动页面的操作。
一种可选地,在接收到退出指令之后,将第二页面的内核映射对象缓存在终端的预定位置中,其中,退出指令用于退出第二页面的展示。
步骤S606:在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面,可选地,在检测出已缓存第二页面的内核映射对象的情况下,从预定位置中查找该第二页面的内核映射对象,将该第二页面的内核映射对象设置为当前处理消息的页面,在内核进程接收到新的消息之后,通过该第二页面的内核映射对象处理接收到的新的消息,其他页面的内核映射对象处理非当前状态。
具体地,第二页面的页面信息至少可以包括:上次浏览第二页面时的浏览结束位置。通过该第二页面的页面信息记录上次浏览第二页面时的浏览结束位置,在按照第二页面的内核映射对象展示第二页面时,可以将其按照上次浏览结束时的浏览结束位置进行显示,也即,可以在标签窗口中显示该浏览结束位置,而不一定是该第二页面的开始位置,通过该实施例可以减少用户的操作。
可选地,设置当前处理的内核映射对象的当前工作标签,在获取第二页面的内核映射对象之后,将该第二页面的内核映射对象的当前工作标签由非工作状态设置为当前工作状态。
一种可选的,该当前工作状态和非工作状态可以使用不同的标识来区分,例如,当前工作状态用“0”来表示,非工作状态用“1”来表示。
另一种可选的,可以在每个内核映射对象中设置当前工作标签,在接收到第一指令之后,在检测出已缓存第二页面的内核映射对象的情况下,修改第一页面的内核映射对象的当前工作标签和第二页面的内核映射对象的当前工作标签。
又一种可选的,在内核线程中设置当前工作标签,该当前工作标签记录当前处理工作状态的页面的内核映射对象,例如,当前正在工作的内核映射对象为第二页面的内核映射对象,第二页面的标识为A,则可以将当前工作标签记录为A。
例如,若第一页面的标识为B,第二页面的标识为A,在接收到第一指令之后,在检测出已缓存第二页面的内核映射对象的情况下,将该当前工作标签由B修改为A。
进一步可选地,若第二页面的内核映射对象接收到退出指令之后,保存当前的页面的处理状态,并退出显示该第二页面。
另一种可选地,若内核线程接收到该退出指令之后,对第二页面的内核映射对象中的信息进行保存,并修改当前工作标签。
需要说明的是,上述的标签窗口指的是tab页,在一个标签窗口中可以新建、前进或者后退至不同的页面。
根据本发明的上述实施例,在接收第一指令之前,方法还包括:接收第二指令,其中,第二指令用于指示新建标签窗口;响应于第二指令,创建逻辑控制器。
下面结合图7和图8对本申请一个可选的实施例进行详细描述。
图7示出了现有技术中的网页排版引擎的架构,如图7所示,现有技术中的网页排版引擎的架构中包括主线程和内核线程,主线程中包括主线程IPC通信管道的持有者,内核线程中包括内核线程IPC通信管道的持有者,通过该主线程IPC通信管道的持有者和内核线程IPC通信管道的持有者进行IPC通信。
其中,Main Thread为应用程序的主线程,Render Thread为内核线程;RenderViewHostImpl即对应用户操作的一个网页视图,在浏览器中通常对应一个Tab页,RenderViewImpl为RenderViewHostImpl在内核线程上的映射对象;RenderProcessHostImpl是主线程IPC通信管道的持有者,RenderThreadImp1则是内核线程IPC通信管道的持有者。
可选地,图7中示出的主线程还包括两个网页视图对象,分别为:RenderViewHostImp1和RenderViewHostImp2,一个网页视图对象对应第一个标签窗口,内核线程包括分别对应两个网页视图对象的内核映射对象,分别为RenderViewHostImp1和RenderViewImp2,每个内核映射对象对应一个标签窗口。
在现有技术中的架构中,每个标签窗口对应一个内核映射对象,该内核映射对象一直处于当前标签窗口的页面,包括跳转、前进或后退的操作,该内核映射对象仅处理当前页面的信息,已经浏览过的页面信息都会被丢弃掉,从而在执行后退操作时,内核映射对象需对当前页面进行解析和渲染操作。
图8示出了本申请实施例的网页排版引擎的架构,如图8所示,在该架构中,使用逻辑控制器替代了现有的内核映射对象,每个逻辑控制器对应一个标签窗口,每个逻辑控制器对应多个页面的内核映射对象,在该逻辑控制器中将当前页面的内核映射对象确定为当前处理的内核映射对象。
其中,ContentCacheController为ContentCache逻辑的控制器,替换RenderViewImpl作为RenderViewHostImpl在内核线程的映射对象。
在一个可选的实施例中,上述的第一指令和第二指令可以被记录在IPC进程消息中,通过逻辑处理器拦截内核线程IPC通信管道的持有者接收到的进程消息,对该进程消息进行处理。
可选地,上述实施例中的各个操作均可以通过逻辑控制器实现,例如,通过创建的逻辑控制器接收第一指令,并响应于第一指令,检测是否已缓存第二页面的内核映射对象,在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
进一步地需要说明的是,在主线程的主线程IPC通信管道的持有者将第二指令通过IPC消息发送至内核线程IPC通信管道的持有者之后,对该第二指令进行类型识别,若识别出该第二指令为新建tab页的指令,则创建与该tab页对应的逻辑控制器。
在创建逻辑控制器之后,与该tab页具有关联关系的所有的信息均可以通过该逻辑控制器进行处理,可选地,该逻辑控制器对接收到的所有的IPC消息进行逻辑处理,例如,确定的处理该IPC消息的内核映射对象,在确定内核映射对象之后,通过该确定出的内核映射对象执行或处理该IPC消息。
需要说明的是,该逻辑控制器并不执行该IPC消息所通知执行的操作,而是通过内核映射对象执行该IPC消息所通知执行的操作。
在上述实施例中,使用逻辑控制器代替内核映射对象,每个逻辑控制器可以对应多个内核映射对象,并在逻辑控制器中记录该对应的信息,从而在执行前进或后退操作时,直接从逻辑控制器记录的信息中确定出目标页面(如上述的第二页面)的内核映射对象,并利用该确定出的内核映射对象中记录的信息直接进行显示,而无需重新执行获取资源、解析和构建的操作,节省了处理时间。
可选地,第二指令还可以用于请求浏览第三页面,例如,该第二指令用于请求在新标签窗口中浏览第三页面。又一种可选的,在创建该标签窗口之后,接收用于浏览第三页面的指令。
具体地,在第二指令还用于请求浏览第三页面或者接收到用于浏览第三页面的指令的情况下,在主线程的主线程IPC通信管道的持有者将该用于浏览第三页面的指令发送至内核线程IPC通信管道的持有者之后,逻辑控制器获取该用于浏览第三页面的指令,创建第三页面的内核映射对象,通过该第三页面的内核映射对象从服务器获取第三页面的网络资源,并对该网络资源进行解析和构建之后,得到该第三页面的页面信息,并按照该第三页面的页面信息进行显示。
一种可选地,第三页面为在新建的标签窗口中第一个浏览的页面,该第一个浏览的页面可以为上述的第一页面或者第二页面,本申请对此不做限定。
可选地,在新建的标签窗口中浏览每个新页面的处理方式与上述的处理方式相同。
在一个可选的实施例中,在创建逻辑控制器之后,内核线程中的逻辑控制器可以通过如下方式来实现在新建的标签窗口中首次访问第二页面::在首次接收到用于获取第二页面的指令的情况下,通过逻辑控制器创建第二页面的内核映射对象;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
可选地,在主线程的主线程IPC通信管道的持有者将该用于获取第二页面的指令发送至内核线程IPC通信管道的持有者之后,逻辑控制器获取该用于获取第二页面的指令,检测是否为首次访问第二页面,若是,则创建第二页面的内核映射对象,通过该第二页面的内核映射对象从服务器获取第二页面的网络资源,并对该网络资源进行解析和构建之后,得到该第二页面的页面信息,并按照该第二页面的页面信息进行显示。
检测是否为首次访问第二页面可以通过如下方式实现:检测历史页面列表中是否存在该第二页面的信息,该信息可以为第二页面的标识信息,若检测出历史页面列表中存在该第二页面的信息,则确定不是首次访问第二页面;若检测出历史页面列表中不存在该第二页面的信息,则确定是首次访问该第二页面。
进一步地,若检测出历史页面列表中存在该第二页面的信息,则获取缓存的第二页面的内核映射对象,以获取该内核映射对象的信息。
需要说明的是,在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象,该退出指令可以为切换指令,如,用于将终端的标签窗口中的第二页面切换为其他页面的指令;该退出指令还可以为关闭第二页面的指令,本申请对此不做限定。
根据上述实施例,检测是否已缓存第二页面的内核映射对象可以包括:通过预先创建的逻辑控制器获取历史页面列表,其中,历史页面列表中记录有已浏览过页面的标识;通过逻辑控制器检测历史页面列表中是否记录有第二页面的标识;若历史页面列表中记录有第二页面的标识,则确定已缓存第二页面的内核映射对象。
可选地,在逻辑控制器中存储历史页面列表,该历史页面列表中记录有在该标签窗口中的历史浏览记录,该历史浏览记录中至少记录有已经浏览过的页面的信息(如标识信息),进一步可选地,该历史浏览记录中还可以记录各个已浏览过的页面的浏览时间、浏览时长、浏览顺序等信息,本申请对此不做限定。
在接收到第一指令之后,获取逻辑控制器中的历史页面列表,在该历史页面列表中查询是否存在该第二页面的信息,若该历史页面列表中记录有该第二页面的信息,则确定已缓存过该第二页面的内核映射对象,则可以从预定位置查找该第二页面的内核映射对象;若历史页面列表中未记录该第二页面的信息,则确定未缓存该第二页面的内核映射对象,则确定为首次访问第二页面,则可以通过逻辑控制器创建该第二页面的内核映射对象,并通过第二页面的内核映射对象执行获取网络资源、解析和构建的操作,以显示该第二页面。
可选地,在检测是否已缓存第二页面的内核映射对象之后,方法还可以包括:若检测出未缓存第二页面的内核映射对象,则创建第二页面的内核映射对象;通过第二页面的内核映射对象获取第二页面的网络资源,对网络资源进行解析和页面构建,得到第二页面的页面信息,其中,第二页面的页面信息用于展示第二页面;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
在接收到第一指令之后,逻辑控制器检测是否已缓存第二页面的内核映射对象,若逻辑控制器未检测到该第二页面的内核映射对象,如逻辑控制器未在历史页面列表中查询到该第二页面的信息,则通过逻辑控制器创建第二页面的内核映射对象,通过第二页面的内核映射对象获取第二页面的网络资源,对网络资源进行解析和页面构建,得到第二页面的页面信息,并在终端上显示该第二页面。
通过第二页面的内核映射对象执行对应该第二页面的各种操作,例如,缩放页面、滚动页面等。
进一步地,若接收到退出该第二页面的指令之后,逻辑控制器缓存该第二页面的内核映射对象,修改当前工作标签,以便在再次访问第二页面时(如接收到上述的第一指令),利用该已经缓存的第二页面的内核映射对象记录的页面信息继续显示该第二页面。
根据上述实施例,在接收第一指令之后,缓存第一页面的内核映射对象,以便在再次访问第二页面时(如接收到上述的第一指令),利用该已经缓存的第二页面的内核映射对象记录的页面信息继续显示该第二页面。
在上述实施例中,可以将各个页面的内核映射对象缓存入内存中对应的缓冲区。
需要说明的是,在满足预定条件的情况下,将第二页面的内核映射对象缓存入内存中的缓冲区。
上述的预定条件可以包括:该页面上未设置不允许缓存的机制,例如,该页面上未设置安全机制,该安全机制设置该页面不允许缓存,若该页面上未设置该安全机制,则不执行缓存操作,若该页面上未设置安全机制,则执行缓存操作。
上述的预定条件还可以包括:该页面是完整的,例如,该页面已经构建完整,则执行缓存操作,若该页面未构建完整,则不执行缓存操作。
上述的预定条件还可以包括:内存中对应的缓冲区未满,例如,若内存中对应的缓冲区未满,则执行缓存操作,若内存中对应的缓冲区已满,则不执行缓存操作。
可选地,按照第二页面的内核映射对象中记录的页面信息展示第二页面可以包括:从内存的缓冲区查找第二页面的内核映射对象;在查找到第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
在该实施例中,从内存的缓冲区查找第二页面的内核映射对象;若查找到第二页面的内核映射对象,则按照第二页面的内核映射对象中记录的页面信息展示第二页面;若未查找到第二页面的内核映射对象,则通过逻辑控制器创建第二页面的内核映射对象,并利用第二页面的内核映射对象获取第二页面的网络资源,并解析和进行页面构建,以获取第二页面的页面信息,并按照页面信息展示第二页面。
通过上述实施例可以实现对同一标签窗口内多个已浏览页面之间的快切换,在按照第二页面的内核映射对象中记录的页面信息展示第二页面之后,接收到第三指令,其中,第三指令用于指示关闭标签窗口;获取通过标签窗口的逻辑控制器创建的所有内核映射对象;销毁逻辑控制器和所有内核映射对象。
通过上述实施例,可以及时释放内存,减少内存的占用。
需要说明的是,第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将标签窗口中当前展示的第一页面后退至第二页面。
上述实施例中的第一指令可以为前进指令,也可以为后退指令,逻辑控制器接收到第一指令之后,检测该第一指令所指示显示的目标页面是否缓存有目标页面的内核映射对象,若该目标页面(即第二页面)的内核映射对象已缓存,无论该第二页面为第一页面的上一页面、下一页面,上述N页面或下N页面,均可以直接显示该目标页面,其中,N为自然数。
下面结合图9至图14对本申请可选的实施例进行详细描述。
可选地,图9示出了用户打开新标签页的处理过程,如图9所示,该处理过程包括下述步骤:
步骤S901:当用户在浏览器中新建Tab页时,创建RenderViewHostImpl对象(即网页视图对象1)。
步骤S902:RenderViewHostImpl通过RenderProcessHostImpl发送IPC消息。
步骤S903:RenderThreadImpl接收到前述IPC消息。
步骤S904:拦截RenderThreadImpl对IPC消息的处理,在ContentCache开启的情况下创建ContentCacheController逻辑控制器。
步骤S905:ContentCacheController创建一个RenderViewImpl内核映射对象作为当前正在处理的RenderViewImpl,后续从RenderViewHostImpl发送过来的消息默认直接交给当前的RenderViewImpl进行处理。
可选地,图10示出了用户输入新地址打开新页面的处理过程,如图10所示,该处理过程包括下述步骤:
步骤S1001:当用户输入地址打开新页面时,请求RenderViewHostImpl进行处理。
步骤S1002:RenderViewHostImpl通过RenderProcessHostImpl发送IPC消息。
步骤S1003:RenderThreadImpl接收到前述IPC消息。
步骤S1004:交给ContentCacheController进行处理。
步骤S1005:ContentCacheController创建一个RenderViewImplB作为当前RenderViewImpl来处理该请求,后续从RenderViewHostImpl发送过来的消息默认直接交给当前的RenderViewImpl进行处理。
步骤S1006:ContentCacheController将原来的RenderViewImplA缓存起来。
可选地,图11示出了用户前进或后退的处理过程,如图11所示,该处理过程包括下述步骤:
步骤S1101:当用户前进后退时,请求RenderViewHostImpl进行处理。
步骤S1102:RenderViewHostImpl通过RenderProcessHostImpl发送IPC消息。
步骤S1103:RenderThreadImpl接收到前述IPC消息。
步骤S1104:交给ContentCacheController进行处理。
步骤S1105:ContentCacheController从缓存中找出目标页面对应的RenderViewImplB作为当前RenderViewImpl来处理该请求,后续从RenderViewHostImpl发送过来的消息默认直接交给当前的RenderViewImpl进行处理。
步骤S1106:ContentCacheController将原来的RenderViewImplA缓存起来。
可选地,图12示出了用户关闭tab页的处理过程,如图12所示,该处理过程包括下述步骤:
步骤S1201:当用户关闭Tab页时,请求RenderViewHostImpl进行处理。
步骤S1202:RenderViewHostImpl通过RenderProcessHostImpl发送IPC消息。
步骤S1203:RenderThreadImpl接收到前述IPC消息。
步骤S1204:交给ContentCacheController进行处理。
步骤S1205:遍历所有ContentCacheController创建的RenderViewImpl并销毁。
步骤S1206:销毁ContentCacheController。
通过上述实施例,前进后退用户体验提升,可以平滑切换到目标页面,页面的离开状态与返回状态一致,节省用户流量,无需重新加载网络资源,开发效率提升,代码层面耦合度低,可移植性强,后续升级方便,调试方便,如需屏蔽ContentCache的影响,只需关闭开关就能实现,无需重新编译、打包。
如图13(与图1所示的示例相同,在此不再赘述)和图14(与图4所示的示例相同,在此不再赘述)所示,通过本申请的上述方法,前进后退在产品侧的体验变为:用户在A页面点击前进后退按钮,地址栏变为页面B的地址,网址显示直接切换为页面B且滚动位置为页面B离开时的位置。
现有技术中,其他方案通过缓存不同粒度的内核对象也可以实现前进后退平滑的体验效果,但是由于其他对象并非通过IPC消息进行衔接,所以无法通过拦截IPC消息实现,只能修改原有的逻辑,即无法做到低耦合,也就无法实现开发效率的提升和方便的调试手段。
为了使前进后退的体验更平滑,在该方案中,在Chromium中引入了ContentCache,上述实施例,通过拦截IPC消息实现了一套内存级别的缓存机制。在切换页面时,被切换出去的页面所对应的内核模型被存储在内存的缓冲区中,再前进后退到该页面时,会从内存缓冲区取出该页面对应的内核模型直接进行处理,无需重新加载解析排版再构建该模型;对于页面来说,有了本发明阐述的前进后退缓存机制,跳转到其他页面时,原页面被置于“暂停”的状态,再前进后退到该页面时,该页面重新置于“播放”的状态。
进一步地,ContentCache是拦截IPC消息实现的,可移植性强,ContentCache代码有相当高的聚合性,所有代码都放在单独的几个文件中;稳定性强,由于只有几个拦截方法修改原有逻辑的代码路径,基本不会影响原有逻辑的稳定性;适用性强,ContentCache缓存的内核模型粒度较大,不会影响原有的功能和模块的支持;耦合度低,没有任何模块依赖ContentCache,只需要一个开关,就可以完全屏蔽ContentCache的逻辑,杜绝其对其他模块产生的影响;升级方便,以上优势也导致升级时改动不是太大。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干消息用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例,还提供了一种用于实施上述页面的处理方法的页面的处理装置。图15是根据本发明实施例的一种可选的页面的处理装置的示意图,如图15所示,该装置可以包括:
第一接收单元1501,用于接收第一指令,其中,第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;第一检测单元1503,用于响应于第一指令,检测是否已缓存第二页面的内核映射对象,其中,第二页面的内核映射对象中记录有第二页面的页面信息;第一展示单元1505,用于在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
通过上述实施例,在网页排版引擎的内核进程接收到主线程发送的第一指令之后,检测是否已缓存第二页面的内核映射对象,在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。在上述实施例中,在接收到用通知切换页面的消息之后,获取已缓存的目标页面(即上述的第二页面)的内核映射对象,按照该内核映射对象记录的目标页面信息展示第二页面,而无需从服务器获取该第二页面的网络资源,也无需对其进行进一步地解析和渲染,大大提高了切换页面的处理速度,解决了现有技术中切换页面的处理速度慢的问题。
进一步地,装置还包括:第二接收单元,用于在接收第一指令之前,接收第二指令,其中,第二指令用于指示新建标签窗口;响应于第二指令,创建逻辑控制器;第一处理单元,用于在创建逻辑控制器之后,在首次接收到用于获取第二页面的指令的情况下,通过逻辑控制器创建第二页面的内核映射对象;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
在上述实施例中,第一检测单元包括:第一获取模块,用于通过预先创建的逻辑控制器获取历史页面列表,其中,历史页面列表中记录有已浏览过页面的标识;第一检测模块,用于通过逻辑控制器检测历史页面列表中是否记录有第二页面的标识;第一确定模块,用于若历史页面列表中记录有第二页面的标识,则确定已缓存第二页面的内核映射对象。
一种可选的,装置还可以包括:第二处理单元,用于在检测是否已缓存第二页面的内核映射对象之后,若检测出未缓存第二页面的内核映射对象,则创建第二页面的内核映射对象;通过第二页面的内核映射对象获取第二页面的网络资源,对网络资源进行解析和页面构建,得到第二页面的页面信息,其中,第二页面的页面信息用于展示第二页面;第一缓存单元,用于在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
可选地,装置还包括:第二缓存单元,用于在接收第一指令之后,缓存第一页面的内核映射对象。
在上述实施例中,第一展示单元可以包括:查找模块,用于从内存的缓冲区查找第二页面的内核映射对象;展示模块,用于在查找到第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
根据上述实施例,装置还包括:第三接收单元,用于在按照第二页面的内核映射对象中记录的页面信息展示第二页面之后,接收到第三指令,其中,第三指令用于指示关闭标签窗口;第二获取单元,用于获取通过标签窗口的逻辑控制器创建的所有内核映射对象;第三处理单元,用于销毁逻辑控制器和所有内核映射对象。
可选地,第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将标签窗口中当前展示的第一页面后退至第二页面。
可选地,第二页面的页面信息至少包括:上次浏览第二页面时的浏览结束位置。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如上述实施例所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
根据本发明实施例,还提供了一种用于实施上述页面的处理方法的服务器或终端。
图16是根据本发明实施例的一种终端的结构框图,如图16所示,该终端可以包括:一个或多个(图中仅示出一个)处理器201、存储器203、以及传输装置205(如上述实施例中的发送装置),如图16所示,该终端还可以包括输入输出设备207。
其中,存储器203可用于存储软件程序以及模块,如本发明实施例中的页面的处理方法和装置对应的程序消息/模块,处理器201通过运行存储在存储器203内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的页面的处理方法。存储器203可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器203可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置205用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置205包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置205为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器203用于存储应用程序。
处理器201可以通过传输装置205调用存储器203存储的应用程序,以执行下述步骤:接收第一指令,其中,第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;响应于第一指令,检测是否已缓存第二页面的内核映射对象,其中,第二页面的内核映射对象中记录有第二页面的页面信息;在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
处理器201还用于执行下述步骤:在接收第一指令之前,接收第二指令,其中,第二指令用于指示新建标签窗口;响应于第二指令,创建逻辑控制器;在创建逻辑控制器之后,在首次接收到用于获取第二页面的指令的情况下,通过逻辑控制器创建第二页面的内核映射对象;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
处理器201还用于执行下述步骤,以检测是否已缓存第二页面的内核映射对象:通过预先创建的逻辑控制器获取历史页面列表,其中,历史页面列表中记录有已浏览过页面的标识;通过逻辑控制器检测历史页面列表中是否记录有第二页面的标识;若历史页面列表中记录有第二页面的标识,则确定已缓存第二页面的内核映射对象。
处理器201还用于执行下述步骤,在检测是否已缓存第二页面的内核映射对象之后,若检测出未缓存第二页面的内核映射对象,则创建第二页面的内核映射对象;通过第二页面的内核映射对象获取第二页面的网络资源,对网络资源进行解析和页面构建,得到第二页面的页面信息,其中,第二页面的页面信息用于展示第二页面;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
处理器201还用于执行下述步骤,在接收第一指令之后,缓存第一页面的内核映射对象。
处理器201还用于执行下述步骤,以按照第二页面的内核映射对象中记录的页面信息展示第二页面:从内存的缓冲区查找第二页面的内核映射对象;在查找到第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
处理器201还用于执行下述步骤,在按照第二页面的内核映射对象中记录的页面信息展示第二页面之后,接收到第三指令,其中,第三指令用于指示关闭标签窗口;获取通过标签窗口的逻辑控制器创建的所有内核映射对象;销毁逻辑控制器和所有内核映射对象。
可选地,第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将标签窗口中当前展示的第一页面后退至第二页面。
可选地,第二页面的页面信息至少包括:上次浏览第二页面时的浏览结束位置。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图16所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图16其并不对上述电子装置的结构造成限定。例如,终端还可包括比图16中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图16所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来消息终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行页面的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收第一指令,其中,第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;响应于第一指令,检测是否已缓存第二页面的内核映射对象,其中,第二页面的内核映射对象中记录有第二页面的页面信息;在检测出已缓存第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:在接收第一指令之前,接收第二指令,其中,第二指令用于指示新建标签窗口;响应于第二指令,创建逻辑控制器;在创建逻辑控制器之后,在首次接收到用于获取第二页面的指令的情况下,通过逻辑控制器创建第二页面的内核映射对象;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以检测是否已缓存第二页面的内核映射对象:通过预先创建的逻辑控制器获取历史页面列表,其中,历史页面列表中记录有已浏览过页面的标识;通过逻辑控制器检测历史页面列表中是否记录有第二页面的标识;若历史页面列表中记录有第二页面的标识,则确定已缓存第二页面的内核映射对象。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,在检测是否已缓存第二页面的内核映射对象之后,若检测出未缓存第二页面的内核映射对象,则创建第二页面的内核映射对象;通过第二页面的内核映射对象获取第二页面的网络资源,对网络资源进行解析和页面构建,得到第二页面的页面信息,其中,第二页面的页面信息用于展示第二页面;在接收到用于退出标签窗口内第二页面的指令之后,缓存第二页面的内核映射对象。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,在接收第一指令之后,缓存第一页面的内核映射对象。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,以按照第二页面的内核映射对象中记录的页面信息展示第二页面:从内存的缓冲区查找第二页面的内核映射对象;在查找到第二页面的内核映射对象的情况下,按照第二页面的内核映射对象中记录的页面信息展示第二页面。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码,在按照第二页面的内核映射对象中记录的页面信息展示第二页面之后,接收到第三指令,其中,第三指令用于指示关闭标签窗口;获取通过标签窗口的逻辑控制器创建的所有内核映射对象;销毁逻辑控制器和所有内核映射对象。
可选地,第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将标签窗口中当前展示的第一页面后退至第二页面。
可选地,第二页面的页面信息至少包括:上次浏览第二页面时的浏览结束位置。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干消息用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种页面的处理方法,其特征在于,包括:
接收第一指令,其中,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;
响应于所述第一指令,检测是否已缓存所述第二页面的内核映射对象,其中,所述第二页面的内核映射对象中记录有所述第二页面的页面信息;所述检测是否已缓存所述第二页面的内核映射对象包括:通过预先创建的逻辑控制器获取历史页面列表,其中,所述历史页面列表中记录有已浏览过页面的标识;通过所述逻辑控制器检测所述历史页面列表中是否记录有所述第二页面的标识;若所述历史页面列表中记录有所述第二页面的标识,则确定已缓存所述第二页面的内核映射对象;
在检测出已缓存所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。
2.根据权利要求1所述的方法,其特征在于,
在接收第一指令之前,所述方法还包括:接收第二指令,其中,所述第二指令用于指示新建标签窗口;响应于所述第二指令,创建逻辑控制器;
在创建逻辑控制器之后,所述方法还包括:在首次接收到用于获取第二页面的指令的情况下,通过所述逻辑控制器创建所述第二页面的内核映射对象;在接收到用于退出所述标签窗口内第二页面的指令之后,缓存所述第二页面的内核映射对象。
3.根据权利要求1所述的方法,其特征在于,
在检测是否已缓存所述第二页面的内核映射对象之后,所述方法还包括:若检测出未缓存所述第二页面的内核映射对象,则创建所述第二页面的内核映射对象;通过所述第二页面的内核映射对象获取所述第二页面的网络资源,对所述网络资源进行解析和页面构建,得到所述第二页面的页面信息,其中,所述第二页面的页面信息用于展示所述第二页面;
在接收到用于退出所述标签窗口内第二页面的指令之后,缓存所述第二页面的内核映射对象。
4.根据权利要求1所述的方法,其特征在于,在接收第一指令之后,所述方法还包括:
缓存所述第一页面的内核映射对象。
5.根据权利要求1所述的方法,其特征在于,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面包括:
从内存的缓冲区查找所述第二页面的内核映射对象;
在查找到所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。
6.根据权利要求1所述的方法,其特征在于,在按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面之后,所述方法还包括:
接收到第三指令,其中,所述第三指令用于指示关闭所述标签窗口;
获取通过所述标签窗口的逻辑控制器创建的所有内核映射对象;
销毁所述逻辑控制器和所述所有内核映射对象。
7.根据权利要求1所述的方法,其特征在于,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将所述标签窗口中当前展示的第一页面后退至第二页面。
8.根据权利要求1所述的方法,其特征在于,所述第二页面的页面信息至少包括:上次浏览所述第二页面时的浏览结束位置。
9.一种页面的处理装置,其特征在于,包括:
第一接收单元,用于接收第一指令,其中,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面切换为第二页面;
第一检测单元,用于响应于所述第一指令,检测是否已缓存所述第二页面的内核映射对象,其中,所述第二页面的内核映射对象中记录有所述第二页面的页面信息;
第一展示单元,用于在检测出已缓存所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面;
其中,所述第一检测单元包括:第一获取模块,用于通过预先创建的逻辑控制器获取历史页面列表,其中,所述历史页面列表中记录有已浏览过页面的标识;第一检测模块,用于通过所述逻辑控制器检测所述历史页面列表中是否记录有所述第二页面的标识;第一确定模块,用于若所述历史页面列表中记录有所述第二页面的标识,则确定已缓存所述第二页面的内核映射对象。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在接收第一指令之前,接收第二指令,其中,所述第二指令用于指示新建标签窗口;响应于所述第二指令,创建逻辑控制器;
第一处理单元,用于在创建逻辑控制器之后,在首次接收到用于获取第二页面的指令的情况下,通过所述逻辑控制器创建所述第二页面的内核映射对象;在接收到用于退出所述标签窗口内第二页面的指令之后,缓存所述第二页面的内核映射对象。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二处理单元,用于在检测是否已缓存所述第二页面的内核映射对象之后,若检测出未缓存所述第二页面的内核映射对象,则创建所述第二页面的内核映射对象;通过所述第二页面的内核映射对象获取所述第二页面的网络资源,对所述网络资源进行解析和页面构建,得到所述第二页面的页面信息,其中,所述第二页面的页面信息用于展示所述第二页面;
第一缓存单元,用于在接收到用于退出所述标签窗口内第二页面的指令之后,缓存所述第二页面的内核映射对象。
12.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二缓存单元,用于在接收第一指令之后,缓存所述第一页面的内核映射对象。
13.根据权利要求9所述的装置,其特征在于,所述第一展示单元包括:
查找模块,用于从内存的缓冲区查找所述第二页面的内核映射对象;
展示模块,用于在查找到所述第二页面的内核映射对象的情况下,按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第三接收单元,用于在按照所述第二页面的内核映射对象中记录的页面信息展示所述第二页面之后,接收到第三指令,其中,所述第三指令用于指示关闭所述标签窗口;
第二获取单元,用于获取通过所述标签窗口的逻辑控制器创建的所有内核映射对象;
第三处理单元,用于销毁所述逻辑控制器和所述所有内核映射对象。
15.根据权利要求9所述的装置,其特征在于,所述第一指令用于指示将终端的标签窗口中当前展示的第一页面前进至第二页面,或者,将所述标签窗口中当前展示的第一页面后退至第二页面。
16.根据权利要求9所述的装置,其特征在于,所述第二页面的页面信息至少包括:上次浏览所述第二页面时的浏览结束位置。
17.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至8任一项中所述的方法。
18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611266515.1A CN108255890B (zh) | 2016-12-29 | 2016-12-29 | 页面的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611266515.1A CN108255890B (zh) | 2016-12-29 | 2016-12-29 | 页面的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255890A CN108255890A (zh) | 2018-07-06 |
CN108255890B true CN108255890B (zh) | 2020-08-11 |
Family
ID=62720872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611266515.1A Active CN108255890B (zh) | 2016-12-29 | 2016-12-29 | 页面的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255890B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325190A (zh) * | 2018-08-21 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种页面管理的方法以及相关装置 |
CN109241469A (zh) * | 2018-09-13 | 2019-01-18 | 安徽智恒信科技有限公司 | 一种基于vue实现多页面切换的方法 |
CN110633443B (zh) * | 2019-08-30 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种页内数据通信的方法、装置、设备和介质 |
CN110597612B (zh) * | 2019-09-26 | 2023-03-24 | 三星电子(中国)研发中心 | 智能设备任务管理的方法和装置 |
CN110971669B (zh) * | 2019-11-11 | 2022-03-01 | 北京达佳互联信息技术有限公司 | 消息通知方法、装置、服务器、电子设备及可读存储介质 |
CN111291294A (zh) * | 2020-01-23 | 2020-06-16 | 北京无限光场科技有限公司 | 信息加载的方法及装置、终端和存储介质 |
CN111339451B (zh) * | 2020-02-14 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 用于信息处理的方法、装置和机器可读存储介质 |
CN112379927B (zh) * | 2020-11-17 | 2024-01-23 | 深圳市和讯华谷信息技术有限公司 | 代码指令远程执行的方法、装置、计算机设备及存储介质 |
CN112711455B (zh) * | 2020-12-31 | 2024-04-16 | 京东科技控股股份有限公司 | 一种页面交互方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075236A (zh) * | 2006-06-12 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种加快浏览器网页显示的装置和方法 |
CN101080055A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于手机浏览器快速浏览网页的方法、系统及设备 |
CN101150487A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝网络报文发送方法 |
CN101154230A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | 一种大数据量分类检索网页的响应方法 |
CN101226488A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 多实例应用程序在内核态地址空间冲突的解决方法及系统 |
CN101377745A (zh) * | 2007-08-28 | 2009-03-04 | 张玉昆 | 在各个域间实现数据共享的虚拟化计算机系统和方法 |
CN101425041A (zh) * | 2007-10-30 | 2009-05-06 | 安凯(广州)软件技术有限公司 | 在nand flash存储器上建立fat文件系统的优化方法 |
CN101655863A (zh) * | 2009-04-24 | 2010-02-24 | 北京搜狗科技发展有限公司 | 在浏览器中加载网页的方法及浏览器 |
CN102368249A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
CN102402622A (zh) * | 2011-12-27 | 2012-04-04 | 北京人大金仓信息技术股份有限公司 | 嵌入式内存数据库的内存页面管理调度方法 |
CN102929944A (zh) * | 2012-09-28 | 2013-02-13 | 北京奇虎科技有限公司 | Ie内核浏览器进行网页渲染的方法及装置 |
CN103150312A (zh) * | 2011-12-23 | 2013-06-12 | 腾讯科技(深圳)有限公司 | 一种在网络应用中打开外链的方法和终端 |
CN103309563A (zh) * | 2013-06-28 | 2013-09-18 | 贝壳网际(北京)安全技术有限公司 | 已显示页面的切换方法及装置 |
CN104346618A (zh) * | 2013-07-23 | 2015-02-11 | 三星泰科威株式会社 | 用于从图像检测烟雾的方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754709B1 (en) * | 2000-03-29 | 2004-06-22 | Microsoft Corporation | Application programming interface and generalized network address translator for intelligent transparent application gateway processes |
US9612975B2 (en) * | 2014-11-20 | 2017-04-04 | Samsung Electronics Co., Ltd. | Page cache device and method for efficient mapping |
-
2016
- 2016-12-29 CN CN201611266515.1A patent/CN108255890B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075236A (zh) * | 2006-06-12 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种加快浏览器网页显示的装置和方法 |
CN101154230A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | 一种大数据量分类检索网页的响应方法 |
CN101080055A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种基于手机浏览器快速浏览网页的方法、系统及设备 |
CN101377745A (zh) * | 2007-08-28 | 2009-03-04 | 张玉昆 | 在各个域间实现数据共享的虚拟化计算机系统和方法 |
CN101425041A (zh) * | 2007-10-30 | 2009-05-06 | 安凯(广州)软件技术有限公司 | 在nand flash存储器上建立fat文件系统的优化方法 |
CN101150487A (zh) * | 2007-11-15 | 2008-03-26 | 曙光信息产业(北京)有限公司 | 一种零拷贝网络报文发送方法 |
CN101226488A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 多实例应用程序在内核态地址空间冲突的解决方法及系统 |
CN101655863A (zh) * | 2009-04-24 | 2010-02-24 | 北京搜狗科技发展有限公司 | 在浏览器中加载网页的方法及浏览器 |
CN102368249A (zh) * | 2011-09-26 | 2012-03-07 | 奇智软件(北京)有限公司 | 一种ie内核浏览器的页面下载控制方法和系统 |
CN103150312A (zh) * | 2011-12-23 | 2013-06-12 | 腾讯科技(深圳)有限公司 | 一种在网络应用中打开外链的方法和终端 |
CN102402622A (zh) * | 2011-12-27 | 2012-04-04 | 北京人大金仓信息技术股份有限公司 | 嵌入式内存数据库的内存页面管理调度方法 |
CN102929944A (zh) * | 2012-09-28 | 2013-02-13 | 北京奇虎科技有限公司 | Ie内核浏览器进行网页渲染的方法及装置 |
CN103309563A (zh) * | 2013-06-28 | 2013-09-18 | 贝壳网际(北京)安全技术有限公司 | 已显示页面的切换方法及装置 |
CN104346618A (zh) * | 2013-07-23 | 2015-02-11 | 三星泰科威株式会社 | 用于从图像检测烟雾的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108255890A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255890B (zh) | 页面的处理方法和装置 | |
TWI690812B (zh) | 頁面元件動態佈局方法、裝置及客戶端 | |
CN106886570B (zh) | 页面处理方法及装置 | |
US9906613B2 (en) | Determining relevant content for keyword extraction | |
CN104035753B (zh) | 一种双WebView展示定制页面的方法及系统 | |
WO2016187036A1 (en) | Application page quick access | |
CN104361071A (zh) | 页面预加载方法及装置 | |
US8788927B2 (en) | System and method for displaying web page content | |
WO2016107325A1 (zh) | 基于移动终端的页面资源加载方法及装置 | |
CN106339163B (zh) | 一种App内置浏览器与内嵌网页回退交互的方法 | |
CN108595697B (zh) | 网页集成方法、装置及系统 | |
CN105095374A (zh) | 移动终端新闻浏览的方法及装置 | |
KR20160125401A (ko) | 인라인 및 콘텍스트 인식 쿼리 박스 제공 기법 | |
CN104881273A (zh) | 一种网页渲染的分析方法和终端设备 | |
CN103455632A (zh) | 一种网页显示方法和客户端 | |
US9503551B2 (en) | Hybrid native networked applications | |
CN102663081A (zh) | 在线应用平台内浏览网页的方法及在线浏览器、在线应用平台 | |
CN104809173A (zh) | 一种搜索结果的处理方法和装置 | |
US20160328110A1 (en) | Method, system, equipment and device for identifying image based on image | |
CN105094669A (zh) | 浏览器多标签页的切换方法及装置 | |
CN103870191A (zh) | 网页保存的方法及电子设备 | |
CN104598571A (zh) | 一种多媒体资源的播放方法及装置 | |
CN107045546B (zh) | 一种网页处理方法、装置及智能终端 | |
US10095791B2 (en) | Information search method and apparatus | |
CN105573579A (zh) | 一种搜索栏的操作方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |