CN105550187A - 单页应用中浏览记录的管理方法及装置 - Google Patents
单页应用中浏览记录的管理方法及装置 Download PDFInfo
- Publication number
- CN105550187A CN105550187A CN201410610521.9A CN201410610521A CN105550187A CN 105550187 A CN105550187 A CN 105550187A CN 201410610521 A CN201410610521 A CN 201410610521A CN 105550187 A CN105550187 A CN 105550187A
- Authority
- CN
- China
- Prior art keywords
- page
- array
- jump
- application
- single page
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明揭示了一种单页应用中浏览记录的管理方法及装置,所述方法包括:在单页应用中,每载入一个页面,即在历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性。本发明在使用了浏览器行为后,单页应用中仍能获取浏览记录,以判断执行浏览器行为后的跳转页面的页面属性,提高了用户体验。
Description
技术领域
本发明涉及一种单页应用中浏览记录的管理方法及装置,尤其是涉及一种对浏览器单页应用中浏览记录的管理方法及装置。
背景技术
单页应用是指页面在不刷新的情况下,由一个页面来控制所有子页面的展现形式(只修改url上的hash值)。
浏览器从安全角度考虑,不允许页面获取用户的浏览记录;但是在单页系统应用中,是不存在安全问题的。
然而,现有技术中,一旦用户使用了浏览器行为,单页应用所存储的数据都会丢失,页面根本无法检测当前页面是通过后退、前进、跳转,或者是直接输入url获得的。即单页应用给用户的感觉是:在这个页面里,禁止使用浏览器的行为。
发明内容
本发明的目的之一在于提供一种单页应用中浏览记录的管理方法及装置。
为实现上述发明目的之一,本发明一实施方式提供了一种单页应用中浏览记录的管理方法,所述方法包括:
在单页应用中,每载入一个页面,即在历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;
将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;
当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性。
作为本发明一实施方式的进一步改进,『根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性』具体包括:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
作为本发明一实施方式的进一步改进,所述方法还包括:若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
作为本发明一实施方式的进一步改进,所述值为哈希值,所述哈希值中包括页面载入的时间信息,将所述页面对应的所述哈希值存入历史状态中。
作为本发明一实施方式的进一步改进,将所述数组存入sessionstorage。
本发明一实施方式提供了一种单页应用中浏览记录的管理装置,所述装置包括标识模块、序列模块及处理模块,标识模块用于在单页应用中,每载入一个页面,即在历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;序列模块用于将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;处理模块用于当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性。
作为本发明一实施方式的进一步改进,所述处理模块还用于:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
作为本发明一实施方式的进一步改进,所述处理模块还用于:若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
作为本发明一实施方式的进一步改进,所述值为哈希值,所述哈希值中包括页面载入的时间信息,所述标识模块将所述页面对应的所述哈希值存入历史状态中。
作为本发明一实施方式的进一步改进,所述序列模块将所述数组存入sessionstorage。
与现有技术相比,本发明的有益效果是:本发明在使用了浏览器行为后,单页应用中仍能获取浏览记录,以判断执行浏览器行为后的跳转页面的页面属性,提高了用户体验。
附图说明
图1是本发明一实施方式中单页应用中浏览记录的管理方法的流程图;
图2是本发明一实施方式中浏览器示意图;
图3是本发明一实施方式中曾载入的多个页面对应的数组示意图;
图4是本发明一实施方式的一示例中载入跳转页面后的数组示意图;
图5是本发明一实施方式的另一示例中载入跳转页面后的数组示意图;
图6是是本发明一实施方式中单页应用中浏览记录的管理装置模块图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
如图1所示,在本发明一实施方式中,所述单页应用中浏览记录的管理方法包括:
在单页应用中,每载入一个页面,即在所述单页应用对应的历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;单页应用是指页面在不刷新的情况下,由一个页面来控制所有子页面的展现形式(只修改url上的hash值)。
如图2所示,单页应用20是在浏览器10中打开的一个应用,例如在百度浏览器中打开一个搜索天气的页面,此时浏览器10即为百度浏览器,单页应用20即为搜索天气页面,单页应用20只修改地址栏104中url的hash值,即是修改地址栏104中“http://www.baidu.com/”后面的值。
通常情况,单页应用20可自行实施单页应用行为,例如页面的前进、后退等,单页应用20的单页应用行为可通过点击页面显示按钮201实现,当然,在一个例子中,若显示设备为触摸屏,则还可通过滑动单页应用20中的页面实现。
单页应用20中可记录用户在此单页应用20中的浏览记录,以便提高用户对单页应用行为的体验;同时,浏览器10还可实施浏览器行为对单页应用20的页面的控制,如图2所示,浏览器行为包括页面的前进102、后退101、刷新103、手动在地址栏104输入url打开新页面及通过标签105打开新页面等,实际上,无论执行何种浏览器行为,对于浏览器而言,都是通过刷新url进行的,如此,在传统技术中,当浏览器10对单页应用20实施浏览器行为后,单页应用20的浏览记录就会丢失。
在本实施方式中,所述方法还包括:
将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;该数组即可代表在单页应用中的浏览记录。
其中,所述单页应用中浏览记录的管理方法是基于超文本标记语言中的HTML5技术,HTML5的规范里提供了新的API:history.replacestate、history.pushstate、window.onpopstate等,其可以存入任意信息到历史状态(history.state)里。
所述单页应用中载入的页面对应的值为哈希值,所述哈希值中包含页面载入的时间信息,可以作为所述哈希值对应的页面的唯一标识。在本实施方式中,所述哈希值的组成形式可以为hash+'#'+newDate().getTime(),例如,在所述单页应用中加载的第一页所对应的哈希值为page1#1410141378334。
将所述哈希值通过history.replacestate接口存入历史状态(history.state)中,每载入一个页面,即在history.replacestate中存入一个与载入的页面对应的哈希值,将多个页面对应的哈希值按照所述多个页面的载入顺序形成数组,例如形成的数组为[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],上述数组依次表示单页应用中按顺序载入的第一页面、第二页面、第三页面、第四页面及第五页面,每一页面都有对应的唯一形式的哈希值,作为每一页面的唯一标识。
在本实施方式中,可将所述数组存入sessionstorage。sessionstorage是在一个浏览器窗口里存放数据的地方,窗口关闭之后数据全部丢失,以防止数据污染;然而,存入sessionstorage的数据在浏览器刷新的时候并不会导致数据丢失。
当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性;所述页面属性可包括该跳转页面是新增页面还是在本次对单页应用操作时曾加载过的页面,若是曾加载过的页面,则确认所述跳转页面在曾加载过的页面中所处的对应位置等。
其中,当在所述单页应用中发生浏览器行为时,得到一个跳转页面,可通过监听window.onpopstate获取到所述跳转页面对应的唯一标识,例如获取到的当前跳转页面的哈希值为page2#1410141378335,因之前单页应用中的数组存在sessionstorage中,当在单页应用中发生浏览器行为时,sessionstorage中的数组不会丢失,单页应用中仍能获取sessionstorage中的数组,将获取到的哈希值page2#1410141378335与上述的数组进行匹配,可以看到当前跳转页面的哈希值对应数组中的第二页面,而非第四页面,从而可以确认所述跳转页面在所述单页应用中的页面属性,例如,如果在跳转之前的页面为第一页面,则可以识别当前跳转页面是经过浏览器的前进行为得到的,如果跳转之前的页面为第二页面,则可以识别当前跳转页面是浏览器的刷新行为得到的,如果跳转之前的页面为第四页面,则可以识别当前跳转页面是浏览器的两次后退行为得到的,如此,即可通过页面属性在跳转页面时加载对应的跳转动画(例如,页面从屏幕左方向右方滑动表示后退,屏幕右方向左方滑动表示前进等),又可让用户在单页应用中的操作和对浏览器的操作衔接,提高用户对浏览器行为的体验。
在本实施方式中,『根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性』具体包括:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
其中,若判断当前跳转页面对应的所述历史状态为空,则表示当前跳转页面的页面属性为在所述单页应用中的新增页面,此时获取当前跳转页面的哈希值,例如获取到的当前跳转页面的哈希值为page2#1410141378339,并将当前跳转页面对应的哈希值page2#1410141378339存入到历史状态中;若判断当前跳转页面对应的所述历史状态不为空,则表示当前跳转页面曾经出现过,获取当前跳转页面的哈希值,例如获取到的当前跳转页面的哈希值为page2#1410141378335,此时sessionstorage中必定存储有包含当前跳转页面对应的哈希值page2#1410141378335的数组,此时在sessionstorage中提取到曾载入的多个页面对应的数组[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],根据当前跳转页面对应的哈希值page2#1410141378335在上述数组中的位置,此时当前跳转页面在所述数组中对应第二页面,从而获得当前跳转页面在所述数组中的对应位置,即当前跳转页面的前一个页面为第一页面,后一个页面为第三页面。
在本实施方式中,所述单页应用中浏览记录的管理方法还包括:
若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
其中,在本实施方式的一示例中,曾载入的多个页面对应的数组为[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],上述数组依次表示单页应用中按顺序载入的第一页面、第二页面、第三页面、第四页面及第五页面,如图3所示,第一页面21、第二页面22、第三页面23、第四页面24及第五页面25组成曾载入的多个页面对应的数组30,如图4所示,此时实施浏览器行为载入一个跳转页面26,当判断跳转页面26的页面属性为新增页面时,将跳转页面26对应的哈希值存入历史状态中,进而形成一个以跳转页面26截止的第一数组40并存入sessionstorage中,并用所述第一数组40替换曾载入的多个页面对应的数组30,如图4所示,此时sessionstorage中存储的第一数组40包含第一页面21、第二页面22、第三页面23、第四页面24、第五页面25及跳转页面26,但不以此为限,在另一实施方式中,可以通过曾载入的多个页面对应的数组30中加入跳转页面26对应的哈希值,以形成以跳转页面26截止的第一数组40并存入sessionstorage中。
在本实施方式的另一示例中,如图3所述,假设此时利用单页应用行为将当前页面由第五页面25后退到第三页面23,即当前页面为第三页面23,此时,实施浏览器行为载入一个跳转页面27,如图5所示,当判断跳转页面27的页面属性为新增页面时,将跳转页面27对应的哈希值存入历史状态中,进而形成一个以跳转页面27截止的第二数组50并存入sessionstorage中,并用所述第二数组50替换曾载入的多个页面对应的数组30,如图5所示,此时sessionstorage中存储的第二数组50包含第一页面21、第二页面22、第三页面23及跳转页面27,但不以此为限,在另一实施方式中,可以通过曾载入的多个页面对应的数组30中删除第四页面及第五页面对应的哈希值,同时加入跳转页面27对应的哈希值,以形成以跳转页面27截止的第二数组50并存入sessionstorage中。
如此,sessionstorage中存储的数组会随着浏览器行为载入的跳转页面而发生对应的变化,当所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组,从而可保证sessionstorage中的浏览记录与浏览器行为保持一致,提高用户对浏览器行为的体验。
如图6所示,在本发明一实施方式中,所述单页应用中浏览记录的管理装置包括标识模块100、序列模块200及处理模块300,所述标识模块100用于在单页应用中,每载入一个页面,即在所述单页应用对应的历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;单页应用是指页面在不刷新的情况下,由一个页面来控制所有子页面的展现形式(只修改url上的hash值)。
如图2所示,单页应用20是在浏览器10中打开的一个应用,例如在百度浏览器中打开一个搜索天气的页面,此时浏览器10即为百度浏览器,单页应用20即为搜索天气页面,单页应用20只修改地址栏104中url的hash值,即是修改地址栏104中“http://www.baidu.com/”后面的值。
通常情况,单页应用20可自行实施单页应用行为,例如页面的前进、后退等,单页应用20的单页应用行为可通过点击页面显示按钮201实现,当然,在一个例子中,若显示设备为触摸屏,则还可通过滑动单页应用20中的页面实现。
单页应用20中可记录用户在此单页应用20中的浏览记录,以便提高用户对单页应用行为的体验;同时,浏览器10还可实施浏览器行为对单页应用20的页面的控制,如图2所示,浏览器行为包括页面的前进102、后退101、刷新103、手动在地址栏104输入url打开新页面及通过标签105打开新页面等,实际上,无论执行何种浏览器行为,对于浏览器而言,都是通过刷新url进行的,如此,在传统技术中,当浏览器10对单页应用20实施浏览器行为后,单页应用10的浏览记录就会丢失。
在本实施方式中,所述序列模块200用于将多个页面对应的值按照所述多个页面的载入顺序形成数组;该数组即可代表在单页应用中的浏览记录。
其中,所述单页应用中浏览记录的管理方法是基于超文本标记语言中的HTML5技术,HTML5的规范里提供了新的API:history.replacestate、history.pushstate、window.onpopstate等,其可以存入任意信息到历史状态(history.state)里。
所述单页应用中载入的页面对应的值为哈希值,所述哈希值中包含页面载入的时间信息,可以作为所述哈希值对应的页面的唯一标识。在本实施方式中,所述哈希值的组成形式可以为hash+'#'+newDate().getTime(),例如,在所述单页应用中加载的第一页所对应的哈希值为page1#1410141378334。
将所述哈希值通过history.replacestate接口存入历史状态(history.state)中,每载入一个页面,即在history.replacestate中存入一个与载入的页面对应的哈希值,将多个页面对应的哈希值按照所述多个页面的载入顺序形成数组,例如形成的数组为[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],上述数组依次表示单页应用中按顺序载入的第一页面、第二页面、第三页面、第四页面及第五页面,每一页面都有对应的唯一形式的哈希值,作为每一页面的唯一标识。
在本实施方式中,可将所述数组存入sessionstorage。sessionstorage是在一个浏览器窗口里存放数据的地方,窗口关闭之后数据全部丢失,以防止数据污染;然而,存入sessionstorage的数据在浏览器刷新的时候并不会导致数据丢失。
在本实施方式中,所述处理模块300用于当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性;所述页面属性可包括该跳转页面是新增页面还是在本次对单页应用操作时曾加载过的页面,若是曾加载过的页面,则确认所述跳转页面在曾加载过的页面中所处的对应位置等。
其中,当在所述单页应用中发生浏览器行为时,得到一个跳转页面,可通过监听window.onpopstate获取到所述跳转页面对应的唯一标识,例如获取到的当前跳转页面的哈希值为page2#1410141378335,因之前单页应用中的数组存在sessionstorage中,当在单页应用中发生浏览器行为时,sessionstorage中的数组不会丢失,单页应用中仍能获取sessionstorage中的数组,将获取到的哈希值page2#1410141378335与上述的数组进行匹配,可以看到当前跳转页面的哈希值对应数组中的第二页面,而非第四页面,从而可以确认所述跳转页面在所述单页应用中的页面属性,例如,如果在跳转之前的页面为第一页面,则可以识别当前跳转页面是经过浏览器的前进行为得到的,如果跳转之前的页面为第二页面,则可以识别当前跳转页面是浏览器的刷新行为得到的,如果跳转之前的页面为第四页面,则可以识别当前跳转页面是浏览器的两次后退行为得到的,如此,即可通过页面属性在跳转页面时加载对应的跳转动画(例如,页面从屏幕左方向右方滑动表示后退,屏幕右方向左方滑动表示前进等),又可让用户在单页应用中的操作和对浏览器的操作衔接,提高用户对浏览器行为的体验。
在本实施方式中,所述处理模块300还用于:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
其中,若判断当前跳转页面对应的所述历史状态为空,则表示当前跳转页面的页面属性为在所述单页应用中的新增页面,此时获取当前跳转页面的哈希值,例如获取到的当前跳转页面的哈希值为page2#1410141378339,并将当前跳转页面对应的哈希值page2#1410141378339存入到历史状态中;若判断当前跳转页面对应的所述历史状态不为空,则表示当前跳转页面曾经出现过,获取当前跳转页面的哈希值,例如获取到的当前跳转页面的哈希值为page2#1410141378335,此时sessionstorage中必定存储有包含当前跳转页面对应的哈希值page2#1410141378335的数组,此时在sessionstorage中提取到曾载入的多个页面对应的数组[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],根据当前跳转页面对应的哈希值page2#1410141378335在上述数组中的位置,此时当前跳转页面在所述数组中对应第二页面,从而获得当前跳转页面在所述数组中的对应位置,即当前跳转页面的前一个页面为第一页面,后一个页面为第三页面。
在本实施方式中,所述处理模块300还用于:
若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
其中,在本实施方式的一示例中,曾载入的多个页面对应的数组为[page1#1410141378334,page2#1410141378335,page3#1410141378336,page2#1410141378337,page4#1410141378338],上述数组依次表示单页应用中按顺序载入的第一页面、第二页面、第三页面、第四页面及第五页面,如图3所示,第一页面21、第二页面22、第三页面23、第四页面24及第五页面25组成曾载入的多个页面对应的数组30,如图4所示,此时实施浏览器行为载入一个跳转页面26,当判断跳转页面26的页面属性为新增页面时,将跳转页面26对应的哈希值存入历史状态中,进而形成一个以跳转页面26截止的第一数组40并存入sessionstorage中,并用所述第一数组40替换曾载入的多个页面对应的数组30,如图4所示,此时sessionstorage中存储的第一数组40包含第一页面21、第二页面22、第三页面23、第四页面24、第五页面25及跳转页面26,但不以此为限,在另一实施方式中,可以通过曾载入的多个页面对应的数组30中加入跳转页面26对应的哈希值,以形成以跳转页面26截止的第一数组40并存入sessionstorage中。
在本实施方式的另一示例中,如图3所述,假设此时利用单页应用行为将当前页面由第五页面25后退到第三页面23,即当前页面为第三页面23,此时,实施浏览器行为载入一个跳转页面27,如图5所示,当判断跳转页面27的页面属性为新增页面时,将跳转页面27对应的哈希值存入历史状态中,进而形成一个以跳转页面27截止的第二数组50并存入sessionstorage中,并用所述第二数组50替换曾载入的多个页面对应的数组30,如图5所示,此时sessionstorage中存储的第二数组50包含第一页面21、第二页面22、第三页面23及跳转页面27,但不以此为限,在另一实施方式中,可以通过曾载入的多个页面对应的数组30中删除第四页面及第五页面对应的哈希值,同时加入跳转页面27对应的哈希值,以形成以跳转页面27截止的第二数组50并存入sessionstorage中。
如此,sessionstorage中存储的数组会随着浏览器行为载入的跳转页面而发生对应的变化,当所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组,从而可保证sessionstorage中的浏览记录与浏览器行为保持一致,提高用户对浏览器行为的体验。
综上所述,在使用了浏览器行为后,单页应用中仍能获取浏览记录,以判断执行浏览器行为后的跳转页面的页面属性,提高了用户体验。
另外,本发明的方法及装置获取页面中的浏览记录,以让后台了解到更多的用户行为数据,以通过用户行为分析后,为用户带来更好的用户体验。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,系统和模块的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)或处理器(processor)执行本发明各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‐OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施方式技术方案的精神和范围。
Claims (10)
1.一种单页应用中浏览记录的管理方法,其特征在于,所述方法包括:
在单页应用中,每载入一个页面,即在历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;
将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;
当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性。
2.根据权利要求1所述的单页应用中浏览记录的管理方法,其特征在于,『根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性』具体包括:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
3.根据权利要求2所述的单页应用中浏览记录的管理方法,其特征在于,所述方法还包括:
若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
4.根据权利要求1所述的单页应用中浏览记录的管理方法,其特征在于,
所述值为哈希值,所述哈希值中包括页面载入的时间信息,将所述页面对应的所述哈希值存入历史状态中。
5.根据权利要求1所述的单页应用中浏览记录的管理方法,其特征在于,将所述数组存入sessionstorage。
6.一种单页应用中浏览记录的管理装置,其特征在于,所述装置包括:
标识模块,用于在单页应用中,每载入一个页面,即在历史状态中存入一与所述页面对应的值,以作为所述页面的唯一标识;
序列模块,用于将多个页面对应的多个值按照所述多个页面的载入顺序形成数组;
处理模块,用于当在所述单页应用中发生浏览器行为时,根据跳转页面对应的值与所述数组的关系,确认所述跳转页面在所述单页应用中的页面属性。
7.根据权利要求6所述的单页应用中浏览记录的管理装置,其特征在于,
所述处理模块还用于:
判断所述跳转页面对应的所述历史状态是否为空;
若是,则表示所述跳转页面的页面属性为在所述单页应用中的新增页面,并在历史状态中存入一与所述跳转页面对应的值;
若否,则根据所述跳转页面对应的值在所述数组中的位置,获得所述跳转页面在所述单页应用曾载入的多个页面中的对应位置。
8.根据权利要求7所述的单页应用中浏览记录的管理装置,其特征在于,所述处理模块还用于:
若所述跳转页面的页面属性为新增页面,则将曾载入的多个页面对应的数组替换为截止至所述跳转页面的数组。
9.根据权利要求6所述的单页应用中浏览记录的管理装置,其特征在于,所述值为哈希值,所述哈希值中包括页面载入的时间信息,所述标识模块将所述页面对应的所述哈希值存入历史状态中。
10.根据权利要求6所述的单页应用中浏览记录的管理装置,其特征在于,所述序列模块将所述数组存入sessionstorage。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410610521.9A CN105550187A (zh) | 2014-11-03 | 2014-11-03 | 单页应用中浏览记录的管理方法及装置 |
HK16112218.3A HK1224028A1 (zh) | 2014-11-03 | 2016-10-25 | 單頁應用中瀏覽記錄的管理方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410610521.9A CN105550187A (zh) | 2014-11-03 | 2014-11-03 | 单页应用中浏览记录的管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105550187A true CN105550187A (zh) | 2016-05-04 |
Family
ID=55829376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410610521.9A Pending CN105550187A (zh) | 2014-11-03 | 2014-11-03 | 单页应用中浏览记录的管理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105550187A (zh) |
HK (1) | HK1224028A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445302A (zh) * | 2016-09-30 | 2017-02-22 | 惠州Tcl移动通信有限公司 | 一种智能移动终端页面读取方法及系统 |
CN106528659A (zh) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | 浏览器跳转至应用程序的控制方法及装置 |
CN107733989A (zh) * | 2017-09-18 | 2018-02-23 | 上海斐讯数据通信技术有限公司 | 一种当前页面之间数据信息传递的方法及系统 |
CN108268295A (zh) * | 2017-12-28 | 2018-07-10 | 天脉聚源(北京)科技有限公司 | 一种基于单界面的页面跳转的方法及装置 |
CN108345481A (zh) * | 2017-01-22 | 2018-07-31 | 腾讯科技(深圳)有限公司 | 一种页面显示方法、装置、客户端及服务器 |
CN108769211A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 客户端设备、网页的路由方法和计算机可读存储介质 |
CN109446459A (zh) * | 2018-10-11 | 2019-03-08 | 北京三快在线科技有限公司 | 页面切换方法以及装置、电子设备及存储介质 |
CN110175310A (zh) * | 2019-06-03 | 2019-08-27 | 浪潮云信息技术有限公司 | 一种前台界面数据变化显示过慢的解决方法 |
CN111382387A (zh) * | 2020-03-06 | 2020-07-07 | 深圳市盟天科技有限公司 | 基于小程序的网页访问方法、装置、设备及存储介质 |
CN112069428A (zh) * | 2020-09-15 | 2020-12-11 | 成都知道创宇信息技术有限公司 | 界面显示方法、装置及服务器 |
CN113656127A (zh) * | 2021-08-12 | 2021-11-16 | 北京数码大方科技股份有限公司 | 页面路由方法、装置、存储介质及处理器 |
CN114064144A (zh) * | 2021-11-12 | 2022-02-18 | 南京论之语网络技术有限公司 | 一种跨应用数据获取的通信插件以及通信方法 |
CN115292625A (zh) * | 2022-06-26 | 2022-11-04 | 杭州美创科技有限公司 | 单页面应用持久化状态管理方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609518A (zh) * | 2012-02-09 | 2012-07-25 | 清华大学 | 多状态ajax网页内容获取方法及系统 |
CN103984686A (zh) * | 2013-02-07 | 2014-08-13 | 阿里巴巴集团控股有限公司 | 页面切换方法及装置 |
-
2014
- 2014-11-03 CN CN201410610521.9A patent/CN105550187A/zh active Pending
-
2016
- 2016-10-25 HK HK16112218.3A patent/HK1224028A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609518A (zh) * | 2012-02-09 | 2012-07-25 | 清华大学 | 多状态ajax网页内容获取方法及系统 |
CN103984686A (zh) * | 2013-02-07 | 2014-08-13 | 阿里巴巴集团控股有限公司 | 页面切换方法及装置 |
Non-Patent Citations (1)
Title |
---|
李家等: "Ajax模式应用程序中书签问题解决方案探讨", 《微计算机应用》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106445302A (zh) * | 2016-09-30 | 2017-02-22 | 惠州Tcl移动通信有限公司 | 一种智能移动终端页面读取方法及系统 |
CN106528659B (zh) * | 2016-10-19 | 2019-12-31 | Oppo广东移动通信有限公司 | 浏览器跳转至应用程序的控制方法及装置 |
CN106528659A (zh) * | 2016-10-19 | 2017-03-22 | 广东欧珀移动通信有限公司 | 浏览器跳转至应用程序的控制方法及装置 |
CN108345481A (zh) * | 2017-01-22 | 2018-07-31 | 腾讯科技(深圳)有限公司 | 一种页面显示方法、装置、客户端及服务器 |
CN107733989A (zh) * | 2017-09-18 | 2018-02-23 | 上海斐讯数据通信技术有限公司 | 一种当前页面之间数据信息传递的方法及系统 |
CN108268295A (zh) * | 2017-12-28 | 2018-07-10 | 天脉聚源(北京)科技有限公司 | 一种基于单界面的页面跳转的方法及装置 |
CN108769211A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 客户端设备、网页的路由方法和计算机可读存储介质 |
CN108769211B (zh) * | 2018-05-31 | 2022-04-12 | 康键信息技术(深圳)有限公司 | 客户端设备、网页的路由方法和计算机可读存储介质 |
CN109446459A (zh) * | 2018-10-11 | 2019-03-08 | 北京三快在线科技有限公司 | 页面切换方法以及装置、电子设备及存储介质 |
CN109446459B (zh) * | 2018-10-11 | 2021-08-27 | 北京三快在线科技有限公司 | 页面切换方法以及装置、电子设备及存储介质 |
CN110175310A (zh) * | 2019-06-03 | 2019-08-27 | 浪潮云信息技术有限公司 | 一种前台界面数据变化显示过慢的解决方法 |
CN111382387A (zh) * | 2020-03-06 | 2020-07-07 | 深圳市盟天科技有限公司 | 基于小程序的网页访问方法、装置、设备及存储介质 |
CN111382387B (zh) * | 2020-03-06 | 2023-10-24 | 深圳市盟天科技有限公司 | 基于小程序的网页访问方法、装置、设备及存储介质 |
CN112069428A (zh) * | 2020-09-15 | 2020-12-11 | 成都知道创宇信息技术有限公司 | 界面显示方法、装置及服务器 |
CN112069428B (zh) * | 2020-09-15 | 2023-06-02 | 成都知道创宇信息技术有限公司 | 界面显示方法、装置及服务器 |
CN113656127B (zh) * | 2021-08-12 | 2023-08-04 | 北京数码大方科技股份有限公司 | 页面路由方法、装置、存储介质及处理器 |
CN113656127A (zh) * | 2021-08-12 | 2021-11-16 | 北京数码大方科技股份有限公司 | 页面路由方法、装置、存储介质及处理器 |
CN114064144A (zh) * | 2021-11-12 | 2022-02-18 | 南京论之语网络技术有限公司 | 一种跨应用数据获取的通信插件以及通信方法 |
CN114064144B (zh) * | 2021-11-12 | 2024-03-22 | 南京论之语网络技术有限公司 | 一种跨应用数据获取的通信插件以及通信方法 |
CN115292625A (zh) * | 2022-06-26 | 2022-11-04 | 杭州美创科技有限公司 | 单页面应用持久化状态管理方法、装置、计算机设备及存储介质 |
CN115292625B (zh) * | 2022-06-26 | 2024-01-30 | 杭州美创科技股份有限公司 | 单页面应用持久化状态管理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
HK1224028A1 (zh) | 2017-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550187A (zh) | 单页应用中浏览记录的管理方法及装置 | |
US9984047B2 (en) | Application page quick access | |
CN105550356B (zh) | 一种浏览内容预加载方法及终端 | |
CN103984686B (zh) | 页面切换方法及装置 | |
CN110209966B (zh) | 一种网页刷新方法、网页系统及电子设备 | |
CN104361071A (zh) | 页面预加载方法及装置 | |
CN108255890B (zh) | 页面的处理方法和装置 | |
CN105824830B (zh) | 一种显示页面的方法、客户端及设备 | |
CN104243273A (zh) | 即时通讯客户端显示信息的方法及设备和信息显示系统 | |
EP3262497A1 (en) | Contextual zoom | |
CN107291449B (zh) | 一种页面渲染方法、装置及设备 | |
CN106610993A (zh) | 视频预览的展示方法、装置 | |
CN102664925B (zh) | 一种展现搜索结果的方法及装置 | |
CN103577477A (zh) | 浏览器的浏览历史的展示方法及展示系统 | |
CN106649543A (zh) | 记录阅读进度的方法、装置及终端 | |
CN106909281A (zh) | 一种应用内界面切换方法及装置 | |
CN102880679B (zh) | 一种网页信息存储方法和装置 | |
CN107408105A (zh) | 有条件受控加样式 | |
CN104809173A (zh) | 一种搜索结果的处理方法和装置 | |
CN103870191A (zh) | 网页保存的方法及电子设备 | |
CN104462452A (zh) | 页面显示的方法及装置 | |
CN103455547B (zh) | 一种用于网页加载的方法及装置 | |
CN108664191B (zh) | 系统访问方法及装置 | |
US20160154554A1 (en) | Visual indication method and device | |
CN105426433A (zh) | 排行榜数据响应方法、请求方法及排行榜数据展示系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1224028 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160504 |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1224028 Country of ref document: HK |