Skip to content

snowzijun/sync-session-storage

Repository files navigation

说明

用于在浏览器多个页签之间同步sessionStorage,如用户新打开一个页签后,同步用户的登录token,防止页签之间登录状态不一致

安装

npm install sync-session-storage -S

yarn add sync-session-storage

示例

import sessionSync from 'sync-session-storage'
/**
 * 对要同步的session进行处理,如对不需要同步的数据进行过滤,可不实现此钩子函数
 * 此钩子函数
 * sessions: {
 *  [key: string] : string | null
 * }
*/
sessionSync.beforeSync(sessions => {
  return sessions
})

/**
 * 自定义同步规则
 * 如果实现了sync接口,需要自己手动将session加入到sessionStorage
 * Object.keys(sessions).forEach(key => {
 *  sessionStorage.setItem(key, sessions[key])
 * })
*/
sessionSync.sync(sessions => {})

/**
 * 在数据同步完之后,可以在此处做后续处理
 * 
*/
sessionSync.afterSync(session => {})

/**
 * 触发同步, 在当前页面sessionStorage 修改之后,通过调用 trigger方法去同步
*/
sessionSync.trigger()

About

浏览器页签之间同步sessionStorage

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published