首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cassidyhere
V2EX  ›  程序员

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

  •  
  •   cassidyhere · 52 天前 · 1138 次点击
    这是一个创建于 52 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    18 回复  |  直到 2019-12-05 16:13:46 +08:00
    shintendo
        1
    shintendo   52 天前   ♥ 1
    怎样可以在回到页面 1 的时候更新内容
    -----------------------
    F5……
    cassidyhere
        2
    cassidyhere   52 天前
    @shintendo 我不能让用户按 F5
    cassidyhere
        3
    cassidyhere   52 天前
    我不是用户,我是后端。。
    wangsongyan
        4
    wangsongyan   52 天前   ♥ 1
    websocket 刷新
    xiangyuecn
        5
    xiangyuecn   52 天前   ♥ 1
    登录时往 localStorage 里面存用户名,页面打开第一时间把存储的用户名读取到 js 变量。然后监听 localStorage 事件,只要 js 中的用户名和存储的用户名不一致,立马 reload() 都不用带废话的😏😏😏
    test3207
        6
    test3207   52 天前   ♥ 1
    ws...
    或者轮询...
    都要前端配合,纯后端应该没法做吧...
    hakono
        7
    hakono   52 天前   ♥ 1
    页面 JS 脚本后台轮询,检测账号的登陆状态,如果检测到了登出或者用户更改的话就刷新
    cnbattle
        8
    cnbattle   52 天前
    跟前端说啊 前端检测重新更新内容啊 前端的需求 /问题, 让后端处理... 0.0
    levon
        9
    levon   52 天前 via iPhone
    客户说要摘天上的星星,你也答应啰
    BlackGrasshopper
        10
    BlackGrasshopper   52 天前
    document.hidden
    BlackGrasshopper
        11
    BlackGrasshopper   52 天前
    document.addEventListener('visibilitychange', () => {
    console.log(document.hidden)
    })
    Vegetable
        12
    Vegetable   52 天前
    需求有问题,让前端去解决
    opengps
        13
    opengps   52 天前
    这问题哪都有,得看你框架是否所有接口都有统一的身份验证拦截了
    Jrue0011
        14
    Jrue0011   52 天前
    页面 1 虽然内容显示是 A 的,但是后续其他请求操作,后端难道不是根据此时的用户 B 来的吗
    wangsongyan
        15
    wangsongyan   52 天前
    @opengps 看着你的头像,笑出来了,哈哈哈哈
    rioshikelong121
        16
    rioshikelong121   52 天前
    页面 2 Logout 的时候通过 storagechange 等事件,通知页面 1 也跳转回 Login 页面。
    BlackGrasshopper
        17
    BlackGrasshopper   52 天前
    纯前端解决方案是切回当前页面的时候刷新下,或者请求后端接口获取服务器会话信息和浏览器信息做对比,判断是否为一用户,不是一用户当前页面数据肯定是无效了,直接刷新完事
    ```
    //添加页面可见性改变事件
    document.addEventListener('visibilitychange', () => {
    //页面可见性,页面可见说明是切回当前页面
    console.log(document.hidden);
    })
    ```
    wangyzj
        18
    wangyzj   52 天前
    客户说:“如果用你的系统的时候突然我的电脑死机了,怎么办?”
    请回答
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1931 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 33ms · UTC 02:46 · PVG 10:46 · LAX 18:46 · JFK 21:46
    ♥ Do have faith in what you're doing.