SaaS 网站登录有个容易被忽略的体验问题👇 用户在浏览器其中一个标签页退出了账号,其他标签页却还显示登录成功 例如用户同时打开任务列表、个人中心和账单页面… · @yunxi0623 · TwKit
@yunxi0623
SaaS 网站登录有个容易被忽略的体验问题👇 用户在浏览器其中一个标签页退出了账号,其他标签页却还显示登录成功 例如用户同时打开任务列表、个人中心和账单页面 他在个人中心点击了退出 当前标签页回到了登录页,但其他两个标签页依然显示着用户的头像和业务数据 这不一定意味着服务端会话还有效,也可能只是其他页面的 React 状态没有同步更新 浏览器提供 BroadcastChannel API 可以让同源、符合存储分区条件的多个标签进行消息通信 例如: const channel = new BroadcastChannel("auth"); 退出登录后向其他标签广播 channel.postMessage({ type: "logout" }); 其他标签收到消息后,清理客户端缓存并更新界面 但这个通知只解决页面之间的状态同步,不能代替真正的服务器端退出登录
曝光 108 · 评论 0 · 点赞 1 · 书签 1
查看原帖