CN102902805B - 一种页面访问方法和装置 - Google Patents
一种页面访问方法和装置 Download PDFInfo
- Publication number
- CN102902805B CN102902805B CN201210389794.6A CN201210389794A CN102902805B CN 102902805 B CN102902805 B CN 102902805B CN 201210389794 A CN201210389794 A CN 201210389794A CN 102902805 B CN102902805 B CN 102902805B
- Authority
- CN
- China
- Prior art keywords
- page
- access
- resource
- history
- data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种页面访问方法。该方法包括:判断待访问的目标页面是否为历史页面,如果是,则获取在结束该历史页面访问时存储的与该历史页面对应的页面资源和页面数据;利用获取的历史页面的页面资源和页面数据访问历史页面。本申请实施例还公开了一种页面访问装置。通过本申请实施例的技术方案可以在保留结束历史页面访问时的页面状态下实现对历史页面的访问,减轻了服务器的并发压力,节约了访问操作时间,整体上提高了页面访问效率。
Description
技术领域
本申请涉及信息访问技术领域,特别涉及一种页面访问方法及相应装置。
背景技术
随着信息技术的快速发展,用户对信息页面的访问要求越来越高,不仅要求具有较高的访问速度,而且要求访问过程能够满足特殊需要。一种常见的页面访问需求是:除能够对新页面(即首次访问的页面)进行正常访问外,在访问历史页面(即曾经访问过的页面)时,还必须能够回复到结束该历史页面的访问时保持的页面状态,以便继续进行未完成的某些操作或重新查看有关内容。
为满足上述页面访问需求,现有技术主要提供了两种访问模式:一是统一资源定位符(URL)模式;二是服务器端模式。前者在发现访问的目标页面为历史页面时,通过预先保存在本地的访问痕迹(比如Cookies文件记录的内容)重新获取历史页面的URL,然后依据该URL从服务器加载页面内容以实现历史页面的访问;后者在发现访问的目标页面为历史页面时,先向服务器发送请求消息以获取预先保存在服务器端的关于该历史页面的有关操作信息和数据信息,然后根据这些操作信息和数据信息加载页面全部内容以实现历史页面的访问。
上述两种访问模式虽然在某些情形下能够实现对历史页面的访问,但是,这两种访问模式整体上均无法完整、准确地回复到结束历史页面访问时的页面状态,以真正意义上实现对历史页面的访问:由于统一资源定位符模式是根据重新获得的URL实现历史页面访问,每次访问过程均重新加载目标页面,在目标页面出现更新的情形下,该方式访问的目标页面实际是更新后的页面而非真正的“历史页面”;由于服务器端方式通常仅能保存有限的页面操作信息和数据信息,进而只能根据这些信息实现“局部性、有限性”的历史页面访问。由此可见,现有技术在历史页面的访问过程中还没有一种能够实现“保留结束历史页面访问时的页面状态”的历史页面访问方法,整体上降低了页面访问效率,不能满足现实需要。
发明内容
为解决上述技术问题,本申请实施例提供一种页面访问方法及其相应装置,以实现在保留结束历史页面访问时的页面状态下的历史页面的访问,进而整体上提高页面访问效率,满足现实需要。
本申请实施例提供的页面访问方法包括:
判断待访问的目标页面是否为历史页面,如果是,则获取在结束该历史页面的访问时存储的该历史页面的页面资源和页面数据;
利用获取的页面资源和页面数据访问目标页面。
优选地,所述页面资源包括页面脚本资源、CSS资源和DOM树资源,所述利用获取的页面资源和页面数据访问目标页面具体包括:
加载获取的页面脚本资源和CSS资源;
利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;
利用DOM树展现结构与获取的页面数据实现目标页面的访问。
进一步优选地,如果对目标页面的访问是由一个页面触发,该一个页面为第一页面,在利用DOM树展现结构与获取的页面数据实现目标页面访问之后,所述方法还包括:
目标页面根据导航主题标识接收第一页面通过数据总线发送的与该导航主题标识对应的数据信息;
目标页面根据获取的数据信息更新页面。
进一步优选地,当第一页面发送的数据信息包括数据订阅请求时,所述方法还包括:目标页面向数据总线发布满足订阅请求的订阅数据,以便第一页面从数据总线接收该订阅数据。
进一步优选地,如果对目标页面的访问是由一个页面触发,该一个页面为第二页面,所述方法还包括:
在获取结束历史页面的访问时存储的页面脚本资源和CSS资源之前,判断第二页面是否已加载待获取的页面脚本资源和CSS资源,如果不存在,则执行获取页面脚本资源和CSS资源的步骤。
优选地,所述判断待访问的目标页面是否为历史页面具体包括:
查找存储有访问过的页面的标识的标识队列是否存在该目标页面的标识,如果存在,则该目标页面为历史页面。
优选地,在待访问的目标页面不是历史页面时,所述方法包括:
向服务器发送访问请求,根据服务器的响应消息加载目标页面;
在结束该目标页面的访问时,存储目标页面的页面资源和页面数据。
本申请实施例还提供了一种页面访问装置。该装置包括:第一判断单元、获取单元和访问单元,其中:
所述第一判断单元,用于判断待访问的目标页面是否为历史页面,如果是,则触发获取单元;
所述获取单元,用于获取在结束该历史页面的访问时存储的该历史页面的页面资源和页面数据;
所述访问单元,用于利用获取的页面资源和页面数据访问目标页面。
优选地,所述页面资源包括页面脚本资源、CSS资源和DOM树资源,所述访问单元具体包括:加载子单元、创建子单元和访问子单元,其中:
所述加载子单元,用于加载获取的页面脚本资源和CSS资源;
所述创建子单元,用于利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;
所述访问子单元,用于利用DOM树展现结构与获取的页面数据实现目标页面的访问。
进一步优选地,如果对目标页面的访问是由一个页面触发,该一个页面为第一页面,所述装置还包括:接收单元和更新单元,其中:
所述接收单元,用于在利用DOM树展现结构与获取的页面数据实现目标页面访问之后,根据导航主题标识接收第一页面通过数据总线发送的与该导航主题标识对应的数据信息;
所述更新单元,用于根据获取的数据信息更新页面。
进一步优选地,当第一页面发送的数据信息包括数据订阅请求时,所述装置还包括发布单元,用于向数据总线发布满足订阅请求的订阅数据,以便第一页面从数据总线接收该订阅数据。
进一步优选地,如果对目标页面的访问是由一个页面触发,该一个页面为第二页面,所述装置还包括:第二判断单元,用于在获取结束历史页面的访问时存储的页面脚本资源和CSS资源之前,判断第二页面是否已加载待获取的页面脚本资源和CSS资源,如果不存在,则触发获取单元获取页面脚本资源和CSS资源。
优选地,所述第一判断单元判断目标页面是否为历史页面具体包括:
查找存储有访问过的页面的标识的标识队列是否存在该目标页面的标识,如果存在,则该目标页面为历史页面。
优选地,在待访问的目标页面不是历史页面时,所述装置包括:发送单元、加载单元和存储单元,其中:
所述发送单元,用于向服务器发送访问请求;
所述加载单元,用于根据服务器的响应消息加载目标页面;
所述存储单元,用于在结束该目标页面的访问时,存储目标页面的页面资源和页面数据。
本申请实施例在判断出待访问的目标页面为历史页面后,获取在结束历史页面访问时存储的该历史页面的页面资源和页面数据,并利用获取的页面资源和页面数据访问历史页面。与现有技术相比,由于本申请实施例预先存储有历史页面的页面资源和页面数据,在访问历史页面时依据预先存储的页面资源和页面数据即可实现历史页面的访问,而不再如统一资源定位符模式那样进行从服务器的重新加载操作,即使历史页面出现了更新,访问到的页面也是“保留了结束访问历史页面时的页面状态”的历史页面。
同时,由于本申请实施例预先存储的是历史页面的页面资源和页面数据,其不同于服务器端模式存储的表层操作信息和数据信息,通过页面资源和页面数据可以完整、准确地回复到结束历史页面访问时的页面状态,从而满足了现实需要。
此外,本申请实施例在访问历史页面过程中,由于不再需要刷新操作或访问服务器端,减轻了服务器的并发压力,节约访问操作时间,从而整体上提高页面的访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一的页面访问方法流程图;
图2为本申请实施例二的页面访问方法流程图;
图3(a)、(b)为图2所述实施例的技术效果示意图;
图4为本申请实施例三的页面访问方法流程图;
图5为本申请实施例四的页面访问的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
参见图1,该图示出了本申请实施例一的页面访问方法的流程。本实施例包括:
步骤S101:判断待访问的目标页面是否为历史页面,如果是,则执行步骤S102:
用户通过浏览器访问信息页面时,对目标页面的访问触发存在多种具体形式,比如,可以是在浏览器的地址栏中直接输入目标页面的地址触发目标页面的访问,也可以是通过浏览器的收藏夹存储的目标页面的地址(主题)触发访问,还可以是在访问当前页面时通过点击当前页面提供的导航链接触发访问,甚至可以是通过浏览器工具条提供的“前进”、“后退”按钮触发对目标页面的访问。访问目标页面的不同触发方式对应的访问页面的性质也可能存在差异,比如,通过浏览器收藏夹触发方式访问的目标页面通常为历史页面(即已访问过的页面),通过点击当前页面的导航链接触发方式访问的目标页面既可能是历史页面,也可能是首次访问的页面。
本实施例对不同的页面采用不同的处理方式,因此,在目标页面触发访问后需要判断目标页面的性质,即判断其为历史页面还是首次访问页面。判断过程可以具有多种具体实现方式,比如通过前述不同的触发方式进行判断:以浏览器收藏夹方式触发访问的,则访问的目标页面通常为历史页面;以点击浏览器工具条的“后退”按钮方式触发访问的,则访问的页面通常为历史页面。此外,还可以通过如下方式判断:设置一个标识队列,每访问一次页面即记录下该访问页面的标识(比如,页面地址),这样即可通过查找标识队列内是否存在目标页面的标识方式进行判断,如果存在,则说明该目标页面为已经访问过的历史页面,否则为首次访问的新页面。通过上述判断发现目标页面如果是首次访问的页面,则按照通常的页面访问操作即可:根据目标页面触发获得的URL地址向服务器发送请求消息,等待服务器响应,根据服务器的响应呈现HTML页面,实现访问;如果不是首次访问的页面,即历史访问页面,则按照如下步骤进行处理。
步骤S102:获取在结束该历史页面访问时存储的该历史页面的页面资源和页面数据;
在通过前述步骤识别出目标页面为历史访问页面后,本实施例获取该历史页面在上次访问结束时存储的该页面的页面资源和页面数据。这里的页面资源包括网页脚本资源、CSS资源、DOM树资源等,页面资源涵盖了页面的各种页面元素(页面控件、控件位置、控件的组织方式等),页面数据是页面元素的值,通过页面资源和页面数据可还原完整的页面。网页脚本是一种纯文本保存的计算机程序,用于控制计算机进行各种预定的可执行操作,属于批处理文件的延伸。网页脚本通过脚本语言进行编写,常见的脚本语言包括:Scala、JavaScript、VBScript、ActionScript、MAX Script、ASP、JSP,PHP、JavaFX、AutoIt等。CSS(Cascading Style Sheets,层叠样式表单)资源是一种用于表现HTML或XML等文件样式的计算机语言,它能够做到网页表现与网页内容分离,实现对网页对象的位置排版像素级控制。DOM(Document Object Model,文档对象模型)树是以层次结构对页面元素进行组织的节点或信息片断的集合,它是与浏览器、平台、语言无关的标准组件。
步骤S103:利用获取的历史页面的页面资源和页面数据访问目标页面;
本实施例在判断出目标页面为历史页面后,获取在结束历史页面访问时存储的该历史页面的页面资源和页面数据,并利用获取的页面资源和页面数据访问历史页面。与现有技术相比,由于本实施例预先存储有历史页面的页面资源和页面数据,在访问历史页面时依据预先存储的页面资源和页面数据即可实现历史页面的访问,而不再如统一资源定位符模式那样进行从服务器的重新加载操作,即使历史页面出现了更新,访问到的页面也是“保留了结束访问历史页面时的页面状态”的历史页面。
同时,由于本实施例预先存储的是历史页面的页面资源和页面数据,其不同于服务器端模式存储的表层操作信息和数据信息,通过页面资源和页面数据可以完整、准确地回复到结束历史页面访问时的页面状态,从而满足了现实需要。
此外,本实施例在访问历史页面过程中,由于不再需要刷新操作或访问服务器端,减轻了服务器的并发压力,节约访问操作时间,从而进一步提高了网页历史页面的访问效率。
实施例二
上述实施例提到在目标访问页面为非历史页面时可按照通常情况进行访问处理,这样对“历史页面”的访问仅仅是对预先存储了页面资源和页面数据的特定数量和范围的历史页面的访问,尽管这样并不影响本申请发明目的的实现,但是为了循环实现对历史页面的访问,同时又不增加单独的存储访问页面的页面资源和页面数据的操作步骤,本实施例优选在对首次访问页面访问结束时即执行存储操作。参见图2,该图示出了本实施例的页面访问方法的流程。该实施例包括:
步骤S201:判断待访问的目标页面是否为历史页面,如果是,则执行步骤S202;如果否,则执行步骤S206:
步骤S202:获取在结束该历史页面访问时存储的该历史页面的页面脚本资源、CSS资源和DOM树资源以及页面数据;
步骤S203:加载获取的页面脚本资源和CSS资源;
通过前述步骤获得历史页面的页面资源和页面数据后即可实现历史页面的恢复重建。针对不同的页面资源类型,其重建方式可能存在差别。当页面资源包括页面脚本资源、CSS资源和DOM树资源时,本实施例按照步骤S203~S205的方式利用获取的历史页面对应的页面资源和页面数据访问历史页面。
步骤S204:利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;
步骤S205:利用DOM树展现结构与获取的页面数据实现目标页面的访问,结束流程;
在该步骤中,如果对目标页面的访问是由一个页面触发的,则可能出现目标页面与原触发页面存在数据和空间重名问题。对于数据重名,可通过对不同的页面定义了不同的闭包,定义的闭包使页面重名的数据作用域不同,从而避免重名。对于控件重名,可通过遍历所有页面控件,为每个页面控件的标识号重新赋值,即添加为其添加唯一标识前缀,从而避免重名。
步骤S206:向服务器发送访问请求,根据服务器的响应消息加载目标页面以实现目标页面的访问;
步骤S207:在结束该目标页面的访问时,存储目标页面的页面资源和页面数据,结束流程;
为使本次的目标访问页面在下次被访问时能够呈现结束本次访问时的状态,本实施例在结束本次目标页面的访问时,存储与该目标页面对应的页面资源和页面数据。
本实施例针对目标访问页面的不同性质采取不同的处理方式,当目标访问页面为历史访问页面时,通过读取预先存储的与该历史页面对应的页面资源和页面数据,进而利用这些数据实现对历史页面的访问;当目标访问页面为首次访问页面(非历史访问页面)时,通过向服务器发送请求消息获取目标访问页面,然后在目标访问页面结束访问时,存储与该目标访问页面对应的页面资源和页面数据。与现有技术相比,本实施例至少可以取得如下技术效果:
(1)本实施例可以实现“保留结束历史页面访问时的页面状态”的历史页面的访问。与统一资源定位模式相比,本实施例通过预先存储的历史页面的页面脚本资源、CSS资源和DOM树资源三类页面资源以及页面数据访问历史页面,只需重新解析DOM节点,而无需进行从服务器重新下载资源和渲染控件等刷新操作,即使历史页面在结束访问和重新被访问期间出现更新,由于页面脚本资源、CSS资源和DOM树资源三类页面资源和页面数据是结束历史页面访问时的资源和数据,因此,通过该方式访问到的页面必然是与“结束访问历史页面时的页面状态”相同的历史页面。与服务器端模式相比,本申请实施例预先存储的是更为底层的页面脚本资源、CSS资源和DOM树资源三类页面资源历史和页面数据,由于这三类资源和页面数据不同于服务器端模式存储的表层性的操作信息和数据信息,通过三类页面资源和页面数据可以完整、准确地构建历史页面,因此,通过该方式访问到的页面也必然是与“结束访问历史页面时的页面状态”相同的历史页面。
(2)本实施例可以减轻服务器并发操作压力。本实施例存储的历史页面的页面资源和页面数据是在结束历史页面访问时进行保存的,访问操作位于本地,存储的页面资源和页面数据也必然位于本地,在访问历史页面时仅要读取本地存储的三类资源和页面数据即可实现目的,而无需如统一资源定位符模式那样通过与服务器之间的信息交互实现刷新操作,也无需如服务器端模式那样向服务器发送请求消息以获取服务器端保存的操作信息和数据信息,因此,通过本实施例的方式访问历史页面时减少了对服务器的访问次数,减轻服务器的并发操作压力。
(3)本实施例可以减少访问时间,整体提高页面的访问效率。本实施例对目标访问页面划分为历史页面和首次访问页面两大类,对于历史页面的访问,由于采取从本地读取历史页面结束访问时存储的页面资源和页面数据,无需与服务器进行信息交互(与服务器交互的过程是整个访问过程中最为耗时的操作之一),因此,本实施例可减少历史页面的访问时间,进而整体上提高页面的访问效率。参见图3(a)、(b)所示,该图示出了本实施例与现有技术方案的技术效果的比较示意图,其中:图3(a)反映的是访问新页面(首次访问页面)的情形,在该情形下,本实施例仅具有下载页面资源时间和渲染页面时间,而没有服务器端模式的查找操作信息和数据信息等服务器读/取时间;3(b)反映的是访问历史页面的情形,在该情形下本实施例仅在解析DOM结构时需要花费时间(注:由于从本地读取历史页面对应的网页资源和网页数据的时间消耗相比于解析DOM结构的时间消耗小很多,不再相同数量级上,图中省略了读取操作的时间消耗),现有技术的统一资源定位符模式和服务器端模式均具有下载页面资源和渲染页面的时间,而服务器端模式除这两部分时间消耗外,还存在在服务器端查找操作信息和数据信息等服务器读/取的时间消耗。由该图可见,本实施例的访问时间大为减少,提高了访问效率。
(4)除上述这些主要从用户角度而言的技术效果外,本实施例还能给WEB***开发人员带来一系列的有益效果:通过本实施例可以降低业务逻辑复杂页面的开发难度,将页面解耦,提高页面复用度,增强页面的可维护性。
在本实施例基础上,本领域技术人员还可以基于不同的目的提出诸多改进措施,从而进一步优化本申请的技术方案。
比如,在前述步骤S207中具体实现存储时,为便于本次的目标页面在作为“历史页面”被访问时能快速地找到其对应的页面资源,可通过建立资源池对页面资源按照页面脚本资源、CSS资源和DOM树资源三大类型分类存储。资源池的大小取决于用户对“历史页面”的访问数量,比如,当用户需要访问较长时间段内已访问过的页面,则可将资源池设置得相对大些;当用户仅需要访问前几次访问过的页面,则可将资源池设置得相对小一些。资源池的大小可采用固定大小机制,当资源池内存储满后,按照时间先后将最找保存到资源池且被再次访问的次数最少的历史页面对应的页面资源和页面数据移出资源池,从而释放资源池的存储空间。
还比如,当目标页面是通过当前页面提供的链接方式触发访问的情形时,由于页面脚本资源和CSS资源种类有限,不同的页面可能使用相同的页面脚本资源和CSS资源,因此,在获取页面脚本资源和CSS资源之前,可以先判断当前页面是否已经加载待获取的页面脚本资源和CSS资源,如果已经加载,则说明当前页面已经具有该待获取的页面脚本资源和CSS资源,这时便无需重复加载,以节约访问时间;如果不存在,则说明目标页面将要使用的页面脚本资源和CSS资源不同于当前页面已有的页面脚本资源和CSS资源,这时才需要加载访问历史页面需要的页面脚本资源和CSS资源。由此可见,通过这种不重复加载策略,减少了加载页面资源的总体时间,从而有利于进一步提高页面的访问效率。
再比如,当目标页面是通过当前页面提供的链接方式触发访问的情形时,可以为不同页面之间的切换、跳转提供导航条,用于显示页面链接导向的顺序和每个页面的主题,从而起到页面导航作用。举例而言:当页面A导向页面B,再由页面B导向到页面C,则可以生成导航条“页面A主题>页面B主题>页面C主题”;当通过点击导航条的主题触发重新定位到历史页面B时,更新导航条为“页面A主题>页面B主题”。
实施例三
前述实施例详细描述了访问的目标页面为历史页面时在满足“保持结束历史页面访问时的页面状态”这一要求下实现历史页面访问的方法。如果对目标页面的访问是由一个页面(而非其他方式)触发的情形下,上述方法实际上实现了两个页面之间的切换,即由触发目标页面访问的页面(以下称为第一页面)切换到目标页面,这种切换是单纯的页面之间的跳转,没有发生页面之间的数据传递。
然而,在某些情况下,比如第一页面和目标页面之间具有业务逻辑关系,目标页面必须利用第一页面的某些信息实现某些操作,或者第一页面必须获得目标页面返回的某些信息以完成某些操作时,就必然涉及到两个页面之间的信息传递问题。两个页面之间的信息传递包括三种情形:一是第一页面向目标页面传递有关信息,目标页面接收这些信息后在“原始页面状态”基础上进行某些局部更新操作;二是目标页面向第一页面传递有关信息,第一页面接收这些信息进行某些未完成的操作;三是第一页面和目标页面相互传递信息,比如第一页面发送订阅请求消息提出订阅要求,目标页面在产生出符合第一页面订阅要求的信息后发布其需要的信息供第一页面使用。
现有技术中的URL模式由于对目标页面的访问是根据URL进行重新刷新操作,两个页面之间彼此对立,自然无法实现页面之间的信息传递;现有技术的服务端模式同样不能解决页面间的信息传递问题。为了实现不同页面之间的信息传递,本申请提出了在实现页面访问过程中进行信息传递的方法实施例。参见图4,该图示出了本实施例的流程。该实施例在实施例二基础上增加如下步骤,其他步骤与实施例二相同,其步骤编号进行相应修改:
步骤S408:目标页面根据导航主题标识接收第一页面通过数据总线发送的与该导航主题标识对应的数据信息;
这里的导航主题标识用于区分不同的数据信息,这种数据信息的区分具有层级性:一是目标页面层次,由于第一页面作为前一个页面,其发送的数据信息可能面向多个可能的目标页面,为了便于对不同目标页面的区分,需要设定一个导航主题标识区分不同的目标页面;二是目标页面的页面元素层次,一个目标页面存在多个页面元素,不同的页面元素需要的数据信息存在差异,为了便于对接收到的数据信息进行正确使用,也需要设定一个导航主题标识区分页面元素页面。如果目标页面仅有一个页面元素需要数据信息,仅在第一个层级上使用导航主题标识即可。具体实现过程中,第一页面产生出目标页面需要的数据信息后,并不一定立即触发切换到目标页面,目标页面由于未被访问,将无法接收信息数据,这种情况下,可以为这些数据信息创建一个缓存区,将第一页面产生的数据以导航主题标识为索引进行缓存,当已切换到目标页面后,目标页面如果需要接收数据,则发送一个“已能接收数据信息”的请求消息,然后根据导航主题标识从缓存区中读取相应的数据信息。第一页面(的缓存区)与目标页面之间的数据信息传递可通过数据总线实现,即第一页面将带有导航主题标识的数据信息发送到数据总线上,目标页面根据导航主题标识从数据总线上接收对应的数据信息。
步骤S409:目标页面根据获取的数据信息更新页面。
目标页面接收到其需要的数据信息后,即可利用这些数据信息对目标页面的有关页面元素进行重新赋值等更新操作。
前述两个步骤实现了由第一页面向目标页面传输数据信息的目标(即单向传递),但在某些情况下,还需要目标页面向第一页面返回数据信息。比如,当第一页面传递给目标页面的数据信息中包括数据订阅请求时,目标页面如果产生了满足该订阅请求的数据信息时,即可向第一页面发布数据订阅消息请求的数据。如果该订阅请求消息是发送到数据总线上的,则目标页面也可以将产生的满足订阅请求的数据信息以消息形式发布在数据总线上,由第一页面根据自己的需要随时从数据总线上接收订阅的数据信息。
本实施例在前述实施例基础上增加了数据信息传递功能,满足了不同页面之间存在逻辑业务关联情况下的页面访问问题。
实施例四
以上是对本申请方法实施例的描述,本申请还提供了页面访问装置实施例。参见附图5,该图示出了页面访问装置的结构。本装置实施例包括:第一判断单元501、获取单元502和访问单元503,其中:
第一判断单元501,用于判断待访问的目标页面是否为历史页面,如果是,则触发获取单元;该第一判断单元在具体实现目标页面是否为历史页面的判断时,可以采用如下的方式:查找存储有的访问过的页面的标识的标识列表是否存在目标页面的标识,如果存在,则该目标页面为历史页面;
获取单元502,用于获取在结束该历史页面访问时存储的该历史页面的页面资源和页面数据;
访问单元503,用于利用获取的页面资源和页面数据访问目标页面。
本装置实施例的工作过程是:先由第一判断单元501判断待访问的目标页面是否为历史页面,如果是,则触发获取单元502获取在结束该历史页面访问时存储的该历史页面的页面资源和页面数据;然后由访问单元503利用获取的页面资源和页面数据访问目标页面。
本装置实施例在判断出目标页面为历史页面后,获取在结束历史页面访问时存储的该历史页面的页面资源和页面数据,并利用获取的页面资源和页面数据访问历史页面。与现有技术相比,由于本装置实施例预先存储有历史页面的页面资源和页面数据,在访问历史页面时依据预先存储的页面资源和页面数据即可实现历史页面的访问,而不再如统一资源定位符模式那样进行重新加载操作,即使历史页面出现了更新,访问到的页面也是“保留了结束访问历史页面时的页面状态”的历史页面。同时,由于本装置实施例预先存储的是历史页面的页面资源和页面数据,其不同于服务器端模式存储的表层操作信息和数据信息,通过页面资源和页面数据可以完整、准确地回复到结束历史页面访问时的页面状态,从而满足了现实需要。此外,本装置实施例在访问历史页面过程中,由于不再需要刷新操作或访问服务器端,减轻了服务器的并发压力,节约访问操作时间,从而整体上提高页面的访问效率。
本装置实施例的访问单元的具体结构与预先存储的页面资源的类型有关。比如,当预先存储的页面资源包括页面脚本资源、CSS资源和DOM树资源时,访问单元503具体可以包括:加载子单元5031、创建子单元5032和访问子单元5033,其中:加载子单元5031,用于加载获取的页面脚本资源和CSS资源;创建子单元5032,用于利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;访问子单元5033,用于利用DOM树展现结构与获取的页面数据实现目标页面的访问。在访问单元的这种结构情形下,如果目标页面是由当前页面(可称为第二页面)触发访问的,本装置实施例还可以包括第二判断单元504,用于在获取结束历史页面的访问时存储的页面脚本资源和CSS资源之前,判断第二页面是否已加载待获取的页面脚本资源和CSS资源,如果不存在,则触发获取单元。通过第二判断单元的判断避免了对页面资源的重复加载,从而有利于提高页面访问效率。
本装置实施例还可以为适应新的功能增加某些功能单元。比如如果对目标页面的访问是由一个页面触发,该一个页面为第一页面,所述装置还包括:接收单元和更新单元,其中:所述接收单元,用于在利用DOM树展现结构与获取的页面数据实现目标页面访问之后,根据导航主题标识接收第一页面通过数据总线发送的与该导航主题标识对应的数据信息;所述更新单元,用于根据获取的数据信息刷新页面。优选地,当第一页面发送的数据信息包括数据订阅请求时,所述装置还包括发布单元,用于向数据总线发布满足订阅请求的订阅数据,以便第一页面从数据总线接收该订阅数据。本实施例增加如上的功能单元可实现不同页面之间的数据信息传递。
本装置实施例的第一判断单元判断出目标访问页面为非历史页面时,可以按照通常的页面处理操作进行处理,这样方式尽管不妨碍本申请发明目的的实现,但这种方式仅能在有限范围和数量内实现历史页面的访问,为了实现历史页面的循环访问,在待访问的目标页面不是历史页面时,本申请实施例的装置优选还包括:发送单元505、加载单元506和存储单元507,其中:发送单元505,用于向服务器发送访问请求;加载单元506,用于根据服务器的响应消息加载目标页面;存储单元507,用于在结束该目标页面的访问时,存储目标页面的页面资源和页面数据。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种页面访问方法,其特征在于,该方法包括:
判断待访问的目标页面是否为历史页面,如果是,则获取在结束该历史页面的访问时存储的该历史页面的页面资源和页面数据,所述页面资源涵盖了历史页面的各种页面元素,所述页面数据是指所述页面元素的值;
利用获取的页面资源和页面数据访问目标页面,以实现访问保留了结束访问所述历史页面时的页面状态的历史页面;
如果对目标页面的访问是由一个页面触发,该一个页面为第一页面,则所述方法还包括:
目标页面根据导航主题标识接收第一页面缓存在数据总线上的与该导航主题标识对应的数据信息;
目标页面根据获取的数据信息更新页面;
若第一页面发送的数据信息包括数据订阅请求,则目标页面将产生的满足订阅请求的订阅数据以消息形式发布在数据总线上,以便第一页面从数据总线接收所述订阅数据。
2.根据权利要求1所述的方法,其特征在于,所述页面资源包括页面脚本资源、CSS资源和DOM树资源,所述利用获取的页面资源和页面数据访问目标页面具体包括:
加载获取的页面脚本资源和CSS资源;
利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;
利用DOM树展现结构与获取的页面数据实现目标页面的访问。
3.根据权利要求2所述的方法,其特征在于,如果对目标页面的访问是由一个页面触发,该一个页面为第二页面,所述方法还包括:
在获取结束历史页面的访问时存储的页面脚本资源和CSS资源之前,判断第二页面是否已加载待获取的页面脚本资源和CSS资源,如果不存在,则执行获取页面脚本资源和CSS资源的步骤。
4.根据权利要求1所述的方法,其特征在于,所述判断待访问的目标页面是否为历史页面具体包括:
查找存储有访问过的页面的标识的标识队列是否存在该目标页面的标识,如果存在,则该目标页面为历史页面。
5.根据权利要求1至4中任何一项所述的方法,其特征在于,在待访问的目标页面不是历史页面时,所述方法包括:
向服务器发送访问请求,根据服务器的响应消息加载目标页面;
在结束该目标页面的访问时,存储目标页面的页面资源和页面数据。
6.一种页面访问装置,其特征在于,该装置包括:第一判断单元、获取单元和访问单元,其中:
所述第一判断单元,用于判断待访问的目标页面是否为历史页面,如果是,则触发获取单元;
所述获取单元,用于获取在结束该历史页面的访问时存储的该历史页面的页面资源和页面数据,所述页面资源涵盖了历史页面的各种页面元素,所述页面数据是指所述页面元素的值;
所述访问单元,用于利用获取的页面资源和页面数据访问目标页面,以实现访问保留了结束访问所述历史页面时的页面状态的历史页面;
如果对目标页面的访问是由一个页面触发,该一个页面为第一页面,所述装置还包括:接收单元和更新单元,其中:
所述接收单元,用于在利用获取的页面资源和页面数据访问目标页面之后,根据导航主题标识接收第一页面缓存在数据总线上的与该导航主题标识对应的数据信息;
所述更新单元,用于根据获取的数据信息更新目标页面;
当第一页面发送的数据信息包括数据订阅请求时,所述装置还包括发布单元,用于将产生的满足订阅请求的订阅数据以消息形式发布在数据总线上,以便第一页面从数据总线接收该订阅数据。
7.根据权利要求6所述的装置,其特征在于,所述页面资源包括页面脚本资源、CSS资源和DOM树资源,所述访问单元具体包括:加载子单元、创建子单元和访问子单元,其中:
所述加载子单元,用于加载获取的页面脚本资源和CSS资源;
所述创建子单元,用于利用加载的页面脚本资源和CSS资源根据获取的DOM树资源创建历史页面的DOM树展现结构;
所述访问子单元,用于利用DOM树展现结构与获取的页面数据实现目标页面的访问。
8.根据权利要求7所述的装置,其特征在于,如果对目标页面的访问是由一个页面触发,该一个页面为第二页面,所述装置还包括:
第二判断单元,用于在获取结束历史页面的访问时存储的页面脚本资源和CSS资源之前,判断第二页面是否已加载待获取的页面脚本资源和CSS资源,如果不存在,则触发获取单元获取页面脚本资源和CSS资源。
9.根据权利要求6所述的装置,其特征在于,所述第一判断单元判断目标页面是否为历史页面具体包括:
查找存储有访问过的页面的标识的标识队列是否存在目标页面的标识,如果存在,则该目标页面为历史页面。
10.根据权利要求6至9中任何一项所述的装置,其特征在于,在待访问的目标页面不是历史页面时,所述装置包括:发送单元、加载单元和存储单元,其中:
所述发送单元,用于向服务器发送访问请求;
所述加载单元,用于根据服务器的响应消息加载目标页面;
所述存储单元,用于在结束该目标页面的访问时,存储目标页面的页面资源和页面数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210389794.6A CN102902805B (zh) | 2012-10-15 | 2012-10-15 | 一种页面访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210389794.6A CN102902805B (zh) | 2012-10-15 | 2012-10-15 | 一种页面访问方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902805A CN102902805A (zh) | 2013-01-30 |
CN102902805B true CN102902805B (zh) | 2017-06-27 |
Family
ID=47575037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210389794.6A Expired - Fee Related CN102902805B (zh) | 2012-10-15 | 2012-10-15 | 一种页面访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902805B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984686B (zh) * | 2013-02-07 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 页面切换方法及装置 |
CN104346397B (zh) * | 2013-08-06 | 2018-09-07 | ***股份有限公司 | 基于异步请求页面的切换方法和*** |
CN104424239B (zh) * | 2013-08-27 | 2017-12-19 | 北大方正集团有限公司 | 资源文件加载方法和装置 |
CN103970534A (zh) * | 2014-04-15 | 2014-08-06 | 百度在线网络技术(北京)有限公司 | 一种提供移动应用中的渲染页面的方法与设备 |
RU2665920C2 (ru) | 2014-06-26 | 2018-09-04 | Гугл Инк. | Оптимизированный процесс визуализации в браузере |
RU2659481C1 (ru) | 2014-06-26 | 2018-07-02 | Гугл Инк. | Оптимизированная для пакетной обработки архитектура визуализации и выборки |
CN105320516B (zh) * | 2014-08-04 | 2019-06-21 | ***通信集团浙江有限公司 | 一种网页的显示方法和装置 |
CN105786894A (zh) * | 2014-12-22 | 2016-07-20 | 广州市动景计算机科技有限公司 | 页面展示方法和页面展示设备 |
CN105824830B (zh) * | 2015-01-06 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种显示页面的方法、客户端及设备 |
CN106202104A (zh) * | 2015-05-07 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 优化目标页面的打开速度的相关方法和装置 |
CN105608176B (zh) * | 2015-12-18 | 2019-03-26 | 东软集团股份有限公司 | 页面访问方法和装置 |
CN105607927A (zh) * | 2015-12-18 | 2016-05-25 | 小米科技有限责任公司 | 页面显示方法及装置 |
CN105528439B (zh) * | 2015-12-21 | 2019-03-05 | 北京奇虎科技有限公司 | 浏览器标签内的页面切换方法及装置 |
CN106899558B (zh) * | 2015-12-21 | 2020-05-08 | 腾讯科技(深圳)有限公司 | 访问请求的处理方法、装置和存储介质 |
CN106021419A (zh) * | 2016-05-12 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种网页运行方法及装置、终端 |
CN106021549B (zh) * | 2016-05-27 | 2020-04-07 | 青岛海信传媒网络技术有限公司 | Web应用程序的页面控制方法、装置及终端设备 |
CN106202244B (zh) * | 2016-06-28 | 2020-01-21 | 深圳中兴网信科技有限公司 | 网页消息返回方法和网页消息返回*** |
CN106126683B (zh) * | 2016-06-29 | 2020-03-24 | 青岛海信传媒网络技术有限公司 | 页面显示方法及终端设备 |
CN106503193A (zh) * | 2016-11-02 | 2017-03-15 | 网宿科技股份有限公司 | 恢复浏览器中页面的方法及其装置 |
CN108156013B (zh) * | 2016-12-02 | 2021-08-10 | 阿里巴巴集团控股有限公司 | 一种页面服务容灾方法、装置及电子设备 |
CN106649792B (zh) * | 2016-12-28 | 2021-02-05 | 北京奇虎科技有限公司 | 一种页面访问方法及装置 |
CN106844656A (zh) * | 2017-01-23 | 2017-06-13 | 北京深思数盾科技股份有限公司 | 一种页面适配方法及*** |
CN107341234B (zh) * | 2017-06-30 | 2021-04-13 | 广州酷狗计算机科技有限公司 | 页面的显示方法、装置和计算机可读存储介质 |
CN107391119B (zh) * | 2017-06-30 | 2020-05-12 | 武汉斗鱼网络科技有限公司 | 一种横竖屏实现方法及装置 |
CN107770630B (zh) * | 2017-10-25 | 2021-03-12 | 深圳市雷鸟网络传媒有限公司 | 电视导航页面显示方法、装置、导航***及可读存储介质 |
CN107678780B (zh) * | 2017-10-26 | 2020-10-16 | 深圳乐信软件技术有限公司 | 一种内存管理方法、装置、存储介质及终端设备 |
CN108769211B (zh) * | 2018-05-31 | 2022-04-12 | 康键信息技术(深圳)有限公司 | 客户端设备、网页的路由方法和计算机可读存储介质 |
CN109976856B (zh) * | 2019-03-26 | 2022-12-20 | 维沃移动通信有限公司 | 一种页面显示方法及终端设备 |
CN110111066A (zh) * | 2019-03-27 | 2019-08-09 | 深圳众赢维融科技有限公司 | 业务申请方法和装置 |
CN110298003A (zh) * | 2019-05-31 | 2019-10-01 | 帷幄匠心科技(杭州)有限公司 | 数据渲染方法及*** |
CN112214696B (zh) * | 2019-07-10 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 一种页面展示的方法及相关装置 |
CN113094126A (zh) * | 2019-12-23 | 2021-07-09 | 华为技术有限公司 | 终端应用的窗体处理方法、应用服务器、终端及存储介质 |
CN111274039B (zh) * | 2020-02-14 | 2023-12-08 | Oppo广东移动通信有限公司 | 内存回收方法、装置、存储介质及电子设备 |
CN112597417B (zh) * | 2020-12-18 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 页面更新方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096418B1 (en) * | 2000-02-02 | 2006-08-22 | Persistence Software, Inc. | Dynamic web page cache |
CN101154230A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | 一种大数据量分类检索网页的响应方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373614B1 (en) * | 2004-02-10 | 2008-05-13 | Apple Inc. | Navigation history |
US20060031751A1 (en) * | 2004-05-26 | 2006-02-09 | Shai Ehud | Method for creating editable web sites with increased performance & stability |
CN100565518C (zh) * | 2006-12-21 | 2009-12-02 | 腾讯科技(深圳)有限公司 | 一种保持网页当前数据信息的方法及*** |
CN100589106C (zh) * | 2008-05-09 | 2010-02-10 | 杭州华三通信技术有限公司 | 一种页面跳转的方法和*** |
CN101281529A (zh) * | 2008-05-30 | 2008-10-08 | 杨洪 | 在手持阅读设备上实现超链接阅读的方法 |
US8176411B2 (en) * | 2008-07-16 | 2012-05-08 | International Business Machines Corporation | Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored |
CN101777081A (zh) * | 2010-03-08 | 2010-07-14 | 中兴通讯股份有限公司 | 一种提高网页访问速度的方法及装置 |
CN102169416A (zh) * | 2011-04-27 | 2011-08-31 | 宇龙计算机通信科技(深圳)有限公司 | 一种移动终端及触摸屏的页面跳转方法 |
-
2012
- 2012-10-15 CN CN201210389794.6A patent/CN102902805B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096418B1 (en) * | 2000-02-02 | 2006-08-22 | Persistence Software, Inc. | Dynamic web page cache |
CN101154230A (zh) * | 2006-09-30 | 2008-04-02 | 中兴通讯股份有限公司 | 一种大数据量分类检索网页的响应方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102902805A (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102902805B (zh) | 一种页面访问方法和装置 | |
US11106759B2 (en) | Predictive resource identification and phased delivery of structured documents | |
CN104572293B (zh) | 基于bs结构的医学影像阅片***的实现方法 | |
CN105045887B (zh) | 混合模式跨域数据交互的***及其方法 | |
CN104104649B (zh) | 页面登录的方法、装置及*** | |
US20120226785A1 (en) | Setting Cookies in Conjunction with Phased Delivery of Structured Documents | |
CN102307220B (zh) | 一种跨域网页信息交互方法 | |
CN109032797A (zh) | 用于提供网页访问的方法及设备 | |
CN104780221B (zh) | 中小企业知识产权综合服务平台*** | |
CN106886570A (zh) | 页面处理方法及装置 | |
CN102710793B (zh) | 一种基于云计算的网络印刷***以及用于该***中的数据存储方法 | |
US20080104255A1 (en) | Sharing state information between dynamic web page generators | |
CN106453576B (zh) | 一种基于混合云平台的交互方法、***及调度中心 | |
CN107807937A (zh) | 一种网站seo处理方法、装置及*** | |
CN103383687A (zh) | 一种页面处理方法和装置 | |
CN110020043B (zh) | 页面爬取方法、装置、存储介质及处理器 | |
CN105095220B (zh) | 一种浏览器实现方法、终端和虚拟化代理装置 | |
CN107113337A (zh) | 网络地址解析 | |
CN106817388A (zh) | 虚拟机、宿主机获取数据的方法、装置及访问数据的*** | |
CN103248707B (zh) | 文件访问方法、***以及设备 | |
CN102148759A (zh) | 通过缓存加速***节省主干网出口带宽的方法 | |
CN110020061A (zh) | 一种智慧城市时空信息云平台服务引擎 | |
RU2005114224A (ru) | Гибкое управление контекстом для сеансов перечисления с использованием обмена контекстом | |
CN104270443B (zh) | 一种能够动态解析Web应用的云计算***及方法 | |
CN107645543A (zh) | 应用于缓存服务器http非80缓存端口服务的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170627 Termination date: 20191015 |
|
CF01 | Termination of patent right due to non-payment of annual fee |