信息处理方法、浏览器客户端及终端的制作方法

文档序号:9261419阅读:681来源:国知局
信息处理方法、浏览器客户端及终端的制作方法
【技术领域】
[0001]本发明涉及网络技术,尤其涉及一种信息处理方法、浏览器客户端及终端。
【背景技术】
[0002]单页面应用(SPA,Single Page Applicat1n)为在浏览器客户端中运行的应用,是终端特别是移动终端(如智能手机、平板电脑)浏览网页的主流实现方式,浏览器客户端通过单页面应用访问访问网络(如视频站点)时,单页面应用面向浏览器客户端的前端只有一个地址,将所有的活动局限于浏览器客户端的中一个Web页面(以下简称当前页面),仅在页面初始化时加载相应的超文本标记语言(HTML,Hyper Text Mark-up Language)、脚本(JavaScript)和层叠式表单(CSS,Cascading style Sheets),一旦页面加载完成,浏览器客户端不会因为用户的操作而进行页面的重新加载或跳转,而是利用JavaScript动态变换页面中HTML来实现页面的更新,也就是说,虽然页面(页面内容)发生了变换,但由于未进行页面的重新加载或跳转,但浏览器客户端基于页面的唯一地址将所有的变换内容后的页面识别为同一个页面;
[0003]由于浏览器客户端只需要重绘用户界面上内容变化的部分,而不需要重绘整个当前页面;这就避免了页面的重新加载(刷新),从而减小了页面的响应时间,可以提供较为流畅的用户体验,同时能够减小网络服务器的压力,节约带宽;
[0004]目前,由于终端中的浏览器客户端的种类多样,即使同一浏览器客户端也存在诸多版本,导致浏览器客户端运行单页面应用时,出现以下问题:
[0005]I)无法实现页面浏览的后退、前进(显示当前历史页面之前的页面);
[0006]2)无法实现历史页面的现场保护,也即显示历史页面时只能从历史页面的起始位置开始显示。

【发明内容】

[0007]本发明实施例提供一种信息处理方法、浏览器客户端及终端,能够兼容所有类型、版本的浏览器客户端实现浏览页面的后退、前进功能,并且实现浏览页面的现场保护。
[0008]本发明实施例的技术方案是这样实现的:
[0009]本发明实施例提供一种信息处理方法,所述方法包括:
[0010]检测浏览器客户端是否支持HTML5,绑定与所得到的检测结果对应的事件;
[0011]监听所述绑定的事件中被触发的事件,基于监听结果确定针对当前页面的导航操作的类型,其中,所述当前页面为基于加载从网络服务器获取的页面数据在所述浏览器客户端呈现;
[0012]确定所述导航操作的类型表征在所述浏览器客户端呈现历史页面时,基于所述历史页面的时间戳,确定状态对象列表中具有所述时间戳的状态对象,从所确定的状态对象中提取显示现场数据;
[0013]获取所述历史页面对应的页面数据,基于所述页面数据、以及所述显示现场数据在所述浏览器客户端中恢复所述历史页面的显示现场。
[0014]优选地,所述检测是否支持HTML5,绑定与所得到的检测结果对应的事件,包括:
[0015]所述检测结果表征支持HTML5时,绑定popState事件和hashChange事件;
[0016]所述检测结果表征不支持HTML5时,绑定所述hashChange事件。
[0017]优选地,所述监听绑定的事件,基于监听结果确定针对当前页面的导航操作的类型,包括:
[0018]所述检测结果表征支持HTML5,且被触发的popState事件指向的状态对象携带Null时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面;
[0019]所述检测结果表征支持HTML5,且被触发的popState事件指向的状态对象携带非空值时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现历史页面。
[0020]优选地,所述监听所述绑定的事件中被触发的事件,基于监听结果确定针对当前页面的导航操作的类型,包括:
[0021]所述检测结果表征不支持HTML5,且被触发的hashChange事件指向的页面地址未携带时间戳,或,所述被触发的hashChange事件指向的页面地址携带的时间戳未与所述状态对象列表中的状态对象具有的时间戳匹配时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面;
[0022]所述检测结果表征不支持HTML5,且被触发的hashChange事件指向的页面地址携带的时间戳与所述状态对象列表中的状态对象具有的时间戳匹配时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现所述历史页面。
[0023]优选地,所述方法还包括:
[0024]所述检测结果表征支持HTML5、且所述导航操作的类型表征触发在所述浏览器客户端呈现新页面时,在所述状态对象列表中插入新的状态对象,所述新的状态对象包括所述当前页面在所述浏览器客户端中的显示现场数据;
[0025]更新页面历史数据中对应所述当前页面的页面地址,其中所述当前页面的更新后的页面地址中携带所述新的状态对象。
[0026]优选地,所述方法还包括:
[0027]所述检测结果表征不支持HTML5、且确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面时,在状态对象列表中插入新的状态对象,所述新的状态对象包括所述当前页面在所述浏览器客户端中的显示现场数据;
[0028]将所述当前页面历史数据中对应所述当前页面的页面地址的哈希值与所述时间戳拼装得到新的页面地址,利用所得到的新的页面地址替换所述页面历史数据中对应所述当前页面的页面地址。
[0029]本发明实施例还提供一种浏览器客户端,所述浏览器客户端包括:
[0030]检测单元,用于检测浏览器客户端是否支持HTML5,绑定与所得到的检测结果对应的事件;
[0031]第一确定单元,用于监听所述绑定的事件中被触发的事件,基于监听结果确定针对当前页面的导航操作的类型,其中,所述当前页面为基于加载从网络服务器获取的页面数据在所述浏览器客户端呈现;
[0032]第二确定单元,用于当所述第一确定单元确定所述导航操作的类型表征在所述浏览器客户端呈现历史页面时,基于所述历史页面的时间戳,确定状态对象列表中具有所述时间戳的状态对象,从所确定的状态对象中提取显示现场数据;
[0033]呈现单元,用于获取所述历史页面对应的页面数据,基于所述页面数据、以及所述显示现场数据在所述浏览器客户端中恢复所述历史页面的显示现场。
[0034]优选地,所述检测单元还用于当所述检测结果表征支持HTML5时,绑定popState事件和hashChange事件;当所述检测结果表征不支持HTML5时,绑定所述hashChange事件。
[0035]优选地,所述第一确定单元,用于当所述检测结果表征支持HTML5,且被触发的popState事件指向的状态对象携带空值Null时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面;
[0036]当所述检测结果表征支持HTML5,且被触发的popState事件指向的状态对象携带非空值时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现历史页面。
[0037]优选地,所述第一确定单元,还用于当所述检测结果表征不支持HTML5,且被触发的hashChange事件指向的页面地址未携带时间戳,或,所述被触发的hashChange事件指向的页面地址携带的时间戳未与所述状态对象列表中的状态对象具有的时间戳匹配时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面;
[0038]当所述检测结果表征不支持HTML5,且被触发的hashChange事件指向的页面地址携带的时间戳与所述状态对象列表中的状态对象具有的时间戳匹配时,确定所述导航操作的类型表征触发在所述浏览器客户端呈现所述历史页面。
[0039]优选地,所述浏览器客户端还包括:
[0040]第一插入单元,用于所述检测结果表征支持HTML5、且所述导航操作的类型表征触发在所述浏览器客户端呈现新页面时,在所述状态对象列表中插入新的状态对象,所述新的状态对象包括所述当前页面在所述浏览器客户端中的显示现场数据;
[0041]第一更新单元,用于更新页面历史数据中对应所述当前页面的页面地址,其中所述当前页面的更新后的页面地址中携带所述新的状态对象。
[0042]优选地,所述浏览器客户端还包括:
[0043]第二插入单元,用于当所述检测结果表征不支持HTML5、且确定所述导航操作的类型表征触发在所述浏览器客户端呈现新页面时,在状态对象列表中插入新的状态对象,所述新的状态对象包括所述当前页面在所述浏览器客户端中的显示现场数据;
[0044]第二更新单元,用于将所述当前页面历史数据中对应所述当前页面的页面地址的哈希值与所述时间戳拼装得到新的页面地址,利用所得到的新的页面地址替换所述页面历史数据中对应所述当前页面的页面地址。
[0045]本发明实施例还提供一种终端,所述终端设置有上述记载的浏览器客户端。
[0046]本发明实施例中,针对浏览器客户端是否支
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1