页面展示方法和装置的制造方法

文档序号:9200475阅读:164来源:国知局
页面展示方法和装置的制造方法
【技术领域】
[0001]本发明涉及Web前端技术,尤其涉及一种页面展示的方法和装置。
【背景技术】
[0002]随着互联网进入Web2.0时代,网页变得不再只是承载单一的文字和图片,而是通过各种富媒体让内容更加生动,并通过软件化的交互为用户提供了更好的使用体验。这些发展基于Web前端技术实现。在这其中,浏览器内核(渲染引擎)相关技术得到了长足的发展。
[0003]现今的浏览器内核(例如,webkit)为了优化用户的浏览体验,会在自己的缓存中存储经过其加载并渲染的历史页面。这样在用户为了查看历史页面而点击后退或前进按钮时(其后称为“回退”),就能够直接从自己的缓存中读取历史页面。
[0004]然而,部分版本浏览器内核(例如1s 8, Uc 10.0)的缓存(例如,webview缓存)会由于系统的兼容性问题而失效,这会导致在回退时刷新页面,严重影响用户浏览页面的流畅性。
[0005]针对上述问题,已经提出了 hash以及中间页浮层等的解决方案。但是这些解决方案仍然存在由于需要提取onhashchange (哈希更改)事件而导致不必要的请求增多(hash方案)、由于在页面渲染完毕后才渲染浮层内容而导致延时较大(中间页浮层方案)、无法判断浏览器是否有回退刷新现象等的诸多问题。
[0006]因此,需要一种能够克服现有技术中的上述和其他缺陷并且在浏览器内核的缓存失效的情况下仍能保证页面浏览的流畅性的页面展示的方法和装置。

【发明内容】

[0007]本发明所要解决的一个技术问题是提供一种页面展示的方法和装置,其能够在浏览器内核自身缓存失效时保证对历史页面的流畅展示,从而给用户提供良好的浏览体验。
[0008]根据本发明的一个方面,公开了一种页面展示方法,包括:判断在沿页面展示历史从当前页面回退到先前页面时是否能够从默认缓存中获得所述先前页面的页面内容;在判断无法从所述默认缓存中获得所述先前页面的页面内容的情况下,使用本地第二缓存来缓存页面展示历史中的页面的页面内容;以及响应于沿页面展示历史回退或前进到目标页面的指令,使用所述本地第二缓存中缓存的相应页面内容来展示所述目标页面。
[0009]由此,在判断出无法从默认缓存中获取历史页面的情况下,可以使用默认缓存之外的其他本地缓存来缓存历史页面内容。这样就保证了在执行回退处理时对缓存内容的直接本地读取,避免了影响浏览连贯性的刷新,从而改善用户的浏览体验。
[0010]优选地,默认缓存可以是浏览器内核的网络视图(WebView)缓存,本地第二缓存可以是HTML5的会话存储(sess1nStorage)缓存或浏览器的历史状态(history, state)缓存。
[0011]通过具体化上述默认缓存,并提供可选的两种第二缓存的实现,能够为不同的应用环境选择更为合适的实现,从而进一步提高本发明的页面展示方法的针对性和页面展示速度。
[0012]优选地,可以根据标识信息的不同取值来判断是否能够从默认缓存中获得所述先前页面的页面内容。
[0013]通过使用标识信息对上述判断进行标识,能够简化计算,提高页面展示的速度,从而进一步改善用户的浏览体验。
[0014]优选地,标识信息的取值的初始化可以通过如下之一实现的:使用HTML5的sess1nStorage缓存,在每个标签页打开时初始化所述标记信息的取值;使用浏览器的history, state缓存,在每次浏览器启动后访问第一个网页时初始化所述标记信息的取值。
[0015]通过提供可选的两种初始化途径,能够进一步提高本发明的页面展示方法的灵活性以及应用于具体场景中的实现速度,由此进一步改善用户的浏览体验。
[0016]优选地,标识信息在能够从默认缓存中获得所述先前页面的页面内容时取值为真,否则取值为假。
[0017]通过将标识信息的取值具体化为真和假的二元判断,能够进一步提高本发明的页面展示方法的灵活性以及应用于具体场景中的实现速度,由此进一步改善用户的浏览体验。
[0018]优选地,使用第二缓存来缓存和展示目标页面可以通过结合使用浏览器的弹出状态处理(onpopstate)来实现,弹出状态处理包括回退分支和刷新分支,在能够从默认缓存中获得所述先前页面的页面内容时执行回退分支,否则执行刷新分支。
[0019]通过结合使用浏览器自带的API(应用程序接口)函数来实现回退,能够进一步优化本发明的页面展示方法的计算与速度,从而进一步改善用户的浏览体验。
[0020]根据本发明的另一个方面,公开了一种页面展示装置,包括:回退判断单元,用于判断在沿页面展示历史从当前页面回退到先前页面时是否能够从默认缓存中获得所述先前页面的页面内容;第二缓存页面缓存单元,用于在判定无法从所述默认缓存中获得所述先前页面的页面内容的情况下,使用本地第二缓存来缓存页面展示历史中的页面的页面内容;以及第二缓存页面展示单元,用于响应于沿页面展示历史回退或前进到目标页面的指令,使用本地第二缓存中缓存的相应页面内容来展示所述目标页面。
[0021]优选地,默认缓存可以是浏览器内核的webview缓存,本地第二缓存可以是HTML5的sess1nStorage缓存或浏览器的history, state缓存。
[0022]优选地,标识信息的取值的初始化可以通过如下单元之一实现的:第一取值单元,用于使用HTML5的sess1nStorage缓存在每个标签页打开时初始化所述标记信息的取值;第二取值单元,用于使用浏览器的history, state缓存在每次浏览器启动后访问第一个网页时初始化所述标记信息的取值。
[0023]优选地,第二缓存页面缓存单元和第二缓存页面展示单元可以通过结合使用浏览器的onpopstate实现目标页面的缓存和展示。
[0024]由此,就为实现依据本发明的页面展示提供了装置支持。
【附图说明】
[0025]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0026]图1是根据本发明的一个实施例的一种页面展示的方法的示意性流程图。
[0027]图2是根据本发明的一个实施例的一种页面展示装置的示意性方框图。
[0028]图3是根据本发明的一个实施例的一种页面展示装置可以包括的可选单元的示意性方框图。
【具体实施方式】
[0029]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0030]图1是根据本发明的一个实施例的一种页面展示的方法的示意性流程图。
[0031]在步骤S100,判断在沿页面展示历史从当前页面回退到先前页面时是否能够从默认缓存中获得所述先前页面的页面内容。
[0032]若能,则该方法结束。
[0033]在步骤S200,在判断无法从所述默认缓存中获取所述先前页面的页面内容的情况下,使用本地第二缓存来缓存页面展示历史中的页面的页面内容。
[0034]在步骤S300,响应于沿页面展示历史回退或前进到目标页面的指令,使用所述本地第二缓存中缓存的相应页面内容来展示所述目标页面。
[0035]由于上述方法会首先对是否有回退刷新现象加以判断,因此能够在需要优化回退体验时(即,回退失效时)提供额外的历史页面内容缓存;而在不存在回退刷新现象时不加以操作,由此避免了不必要的处理,实现浏览器自带的最优体验。
[0036]另外,由于将要还原的数据(S卩,页面展示历史中的页面的页面内容)被存在本地缓存中,因此减少了不必要的请求,提高了页面展示的效率。
[0037]在一个优选实施例中,用于缓存页面展示历史
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1