一种多个标签页之间共享数据duke组的方法技术

技术编号:18894858 阅读:54 留言:0更新日期:2018-09-08 11:08
本发明专利技术公开了一种多个标签页之间共享数据duke组的方法,所述方法包括如下步骤:步骤1:当打开新标签页的时候,检测是否存在标签,若存在则出发时间通知已存在标签;步骤2:已存在标签收到步骤1所述的通知,然后检测目前标签页的sessionStorage中是否存在token;步骤3:根据步骤2的检测结果,若token存在则将token放入localstorage触发事件通知新打开的标签并且移除放入的token;若不存在则不做操作;步骤4:打开新的标签,接到事件通知,拿到token放入sessionStorage。将token存储于前端释放了服务器压力,利用sessionStorage储存token标签页关闭即可清除,不会当标签页关闭(甚至浏览器完全关闭)后还会持续存活一定时间,多个标签页之间共享sessionStorage没有中间状态。

A method for sharing data Duke groups between multiple tabs

The invention discloses a method for sharing data Duke groups among multiple label pages. The method comprises the following steps: step 1: when a new label page is opened, whether a label exists, if it exists, the departure time notifies the existing label; step 2: the existing label receives the notification described in step 1, and then detects the item Step 3: According to the result of step 2, if token exists, put token into the local storage trigger event to notify the newly opened tag and remove the token; if not, do not operate; Step 4: Open the new tag, receive the event notification, and get token to put Enter sessionStorage. Storing token in the front-end releases server pressure, and using session Storage to store token tabs can be removed by closing them. It does not survive for a certain period of time when the tabs are closed (or even the browser is completely closed). There is no intermediate state for sharing session Storage between multiple tabs.

【技术实现步骤摘要】
一种多个标签页之间共享数据duke组的方法
本专利技术属于计算机软件
,具体涉及一种多个标签页之间共享数据duke组的方法。
技术介绍
一些重要的系统会要求当用户关闭标签页时会话立刻到期,这些问题就使得我们在保存认证token时应使用内存或sessionStorage。sessionStorage的好处是它允许跨多个页面保存数据,并且也支持浏览器刷新操作。这样用户就可以在多个页面之间跳转或刷新页面而保持登录状态,我们将token保存在sessionStorage,并在每次请求服务器时将token放在请求头中来完成用户的身份认证。当用户关闭标签页,token会立即过期,但是sessionStorage不支持跨标签页共享数据,这就导致了一个很差的用户体验问题,用户经常希望打开多个标签页,因为Token信息是保存在SessionStorage中,所以每次开启一个标签页都会要求用户重新登录。
技术实现思路
本专利技术的目的在于:为了解决上述的用户在使用网页时每打开一个新的标签都会提示用户重新登录的问题,提出一种多个标签页之间共享数据duke组的方法。本专利技术采用的技术方案如下:一种多个标签页之间共享数据duke组的方法,所述方法包括如下步骤:步骤1:当打开新标签页的时候,检测是否存在标签,若存在则出发时间通知已存在标签;步骤2:已存在标签收到步骤1所述的通知,然后检测目前标签页的sessionStorage中是否存在token;步骤3:根据步骤2的检测结果,若token存在则将token放入localstorage触发事件通知新打开的标签并且移除放入的token;若不存在则不做操作;步骤4:打开新的标签,接到事件通知,拿到token放入sessionStorage。打开一个标签页时候检测是否为第一个标签页,如果是则没有token共享,若不是则触发事件通知已存在标签,已存在标签接收到通知后检查目前标签页的sessionStorage中是否存在token,若存在则将token放入localStorage,触发事件通知新打开的标签并且移除放入的token,待新打开的标签接到事件通知后拿到token放入sessionStorage。通过此方法能实现多个标签页之前共享token信息,不用在没一次开启一个新标签页的时候都会要求用户重新登录。优选地,所述步骤3中localstorage将请求数据储存在本地,其相当于一个大小5M的针对前端页面的数据库,可跨标签使用。利用localStorage事件提出了一种方案,新开一个标签页时,我们先来询问其它已经打开的标签页是不是有需要给我们共享的sessionStorage数据。如果有,现有的标签页会通过localStorage事件来传递数据到新打开的标签页中,我们只需要复制一份到本地sessionStorage即可。优选地,所述步骤3中sessionStorage的传递不会保存在localStorage,从localStorage事件将数据中复制并保存到sessionStorage,这个流程是在同一个调用中完成,没有中间状态,而且数据是对应事件携带的,而不在localStorage中,数据随事件而携带不用储存在本地,能节约一定的内存空间的同时还能省去数据调用的过程,相应速率也得到的提高。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1、本专利技术中,将token存储于前端释放了服务器压力,利用sessionStorage储存token标签页关闭即可清除,不会当标签页关闭(甚至浏览器完全关闭)后还会持续存活一定时间,多个标签页之间共享sessionStorage没有中间状态。2、本专利技术中,由于数据随事件而携带不用储存在本地,既能节约一定的内存空间的同时还能省去数据调用的过程,相应速率也得到的提高。3、本专利技术中,sessionStorage数据的传递不是直接进行数据的搬移,而是对数据进行复制,这样即使过程中浏览器出现错误也不会造成数据的丢失,依然能再次从数据源复制数据到新标签页。附图说明图1为本专利技术的方法流程图;具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,一种多个标签页之间共享数据duke组的方法,所述方法包括如下步骤:步骤1:当打开新标签页的时候,检测是否存在标签,若存在则出发时间通知已存在标签;步骤2:已存在标签收到步骤1所述的通知,然后检测目前标签页的sessionStorage中是否存在token;步骤3:根据步骤2的检测结果,若token存在则将token放入localstorage触发事件通知新打开的标签并且移除放入的token;若不存在则不做操作;步骤4:打开新的标签,接到事件通知,拿到token放入sessionStorage。打开一个标签页时候检测是否为第一个标签页,如果是则没有token共享,若不是则触发事件通知已存在标签,已存在标签接收到通知后检查目前标签页的sessionStorage中是否存在token,若存在则将token放入localStorage,触发事件通知新打开的标签并且移除放入的token,待新打开的标签接到事件通知后拿到token放入sessionStorage。通过此方法能实现多个标签页之前共享token信息,不用在没一次开启一个新标签页的时候都会要求用户重新登录。步骤3中localstorage将请求数据储存在本地,其相当于一个大小5M的针对前端页面的数据库,可跨标签使用。利用localStorage事件提出了一种方案,新开一个标签页时,我们先来询问其它已经打开的标签页是不是有需要给我们共享的sessionStorage数据。如果有,现有的标签页会通过localStorage事件来传递数据到新打开的标签页中,我们只需要复制一份到本地sessionStorage即可;sessionStorage的传递不会保存在localStorage,从localStorage事件将数据中复制并保存到sessionStorage,这个流程是在同一个调用中完成,没有中间状态,而且数据是对应事件携带的,而不在localStorage中,数据随事件而携带不用储存在本地,能节约一定的内存空间的同时还能省去数据调用的过程,相应速率也得到的提高。以上所述仅为本专利技术的较佳实施例而已,并不用以限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种多个标签页之间共享数据duke组的方法,其特征在于,所述方法包括如下步骤:步骤1:当打开新标签页的时候,检测是否存在标签,若存在则出发时间通知已存在标签;步骤2:已存在标签收到步骤1所述的通知,然后检测目前标签页的sessionStorage中是否存在token;步骤3:根据步骤2的检测结果,若token存在则将token放入localstorage触发事件通知新打开的标签并且移除放入的token;若不存在则不做操作;步骤4:打开新的标签,接到事件通知,拿到token放入sessionStorage。

【技术特征摘要】
1.一种多个标签页之间共享数据duke组的方法,其特征在于,所述方法包括如下步骤:步骤1:当打开新标签页的时候,检测是否存在标签,若存在则出发时间通知已存在标签;步骤2:已存在标签收到步骤1所述的通知,然后检测目前标签页的sessionStorage中是否存在token;步骤3:根据步骤2的检测结果,若token存在则将token放入localstorage触发事件通知新打开的标签并且移除放入的token;若不存在则不做操作;步骤4:打开新的标签,接到事件通知,拿到token放入sessionStorage。2.根据权...

【专利技术属性】
技术研发人员:刘杰吴洁慧都柯
申请(专利权)人:成都优易数据有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1