一个浏览器登录两个账号的冲突问题

2019 年 12 月 5 日
 cassidyhere

同一浏览器,在页面 1 登录账号 A 后,打开页面 2,然后在已登录的页面 2 退出账号 A,登录账号 B,这时回到页面 1.这时页面 1 显示的是 A 的内容,但登录的其实是 B。怎样可以在回到页面 1 的时候更新内容?或者其他解决冲突的办法?

3685 次点击
所在节点    程序员
18 条回复
shintendo
2019 年 12 月 5 日
怎样可以在回到页面 1 的时候更新内容
-----------------------
F5……
cassidyhere
2019 年 12 月 5 日
@shintendo 我不能让用户按 F5
cassidyhere
2019 年 12 月 5 日
我不是用户,我是后端。。
wa8n
2019 年 12 月 5 日
websocket 刷新
xiangyuecn
2019 年 12 月 5 日
登录时往 localStorage 里面存用户名,页面打开第一时间把存储的用户名读取到 js 变量。然后监听 localStorage 事件,只要 js 中的用户名和存储的用户名不一致,立马 reload() 都不用带废话的😏😏😏
test3207
2019 年 12 月 5 日
ws...
或者轮询...
都要前端配合,纯后端应该没法做吧...
hakono
2019 年 12 月 5 日
页面 JS 脚本后台轮询,检测账号的登陆状态,如果检测到了登出或者用户更改的话就刷新
cnbattle
2019 年 12 月 5 日
跟前端说啊 前端检测重新更新内容啊 前端的需求 /问题, 让后端处理... 0.0
levon
2019 年 12 月 5 日
客户说要摘天上的星星,你也答应啰
BlackGrasshopper
2019 年 12 月 5 日
document.hidden
BlackGrasshopper
2019 年 12 月 5 日
document.addEventListener('visibilitychange', () => {
console.log(document.hidden)
})
Vegetable
2019 年 12 月 5 日
需求有问题,让前端去解决
opengps
2019 年 12 月 5 日
这问题哪都有,得看你框架是否所有接口都有统一的身份验证拦截了
Jrue0011
2019 年 12 月 5 日
页面 1 虽然内容显示是 A 的,但是后续其他请求操作,后端难道不是根据此时的用户 B 来的吗
wa8n
2019 年 12 月 5 日
@opengps 看着你的头像,笑出来了,哈哈哈哈
rioshikelong121
2019 年 12 月 5 日
页面 2 Logout 的时候通过 storagechange 等事件,通知页面 1 也跳转回 Login 页面。
BlackGrasshopper
2019 年 12 月 5 日
纯前端解决方案是切回当前页面的时候刷新下,或者请求后端接口获取服务器会话信息和浏览器信息做对比,判断是否为一用户,不是一用户当前页面数据肯定是无效了,直接刷新完事
```
//添加页面可见性改变事件
document.addEventListener('visibilitychange', () => {
//页面可见性,页面可见说明是切回当前页面
console.log(document.hidden);
})
```
wangyzj
2019 年 12 月 5 日
客户说:“如果用你的系统的时候突然我的电脑死机了,怎么办?”
请回答

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626208

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX