前端更新升级 如何友好的提醒用户更新? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
firhome
V2EX    程序员

前端更新升级 如何友好的提醒用户更新?

  •  
  •   firhome 2022-04-26 15:50:51 +08:00 2772 次点击
    这是一个创建于 1340 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教各位大佬们:

    一般来说单页应用,html 是协商缓存, js css 是放在 cdn 做了强缓存,文件名做了 hash

    发布的时候也是 增量覆盖,不会出现什么问题。。。

    现在我想达到的效果是。 如果用户正在访问我们网站。我这个时候更新了 js css ,如何能及时通知到用户(页面提醒)网站有更新请刷新页面?

    14 条回复    2025-10-24 13:18:38 +08:00
    lisongeee
        1
    lisongeee  
       2022-04-26 16:03:50 +08:00
    你说的是本地开发时候的热重载吗?
    codefever
        2
    codefever  
       2022-04-26 16:05:34 +08:00
    顶部或者底部弹个 banner 出来吧,用户不点的话过几秒钟自动收回
    ktqFDx9m2Bvfq3y4
        3
    ktqFDx9m2Bvfq3y4  
       2022-04-26 16:10:51 +08:00 via iPhone
    参考 trello 维护通知:放个狗头在菜单栏上面
    jy02534655
        4
    jy02534655  
       2022-04-26 16:15:12 +08:00
    1.用 websocket ,监听到对应消息就提示刷新

    2.基于 webpack 打包的项目可以写一个插件,每次打包的时候在静态资源目录写入一个带版本号的文件,同时 process.env.version 中也写入一个版本号,然后 监听路由切换 /用户点击 /定时器 去用 process.env.version 的版本号对比静态资源文件的版本号,版本号不一样就提示刷新
    Mark85
        5
    Mark85  
       2022-04-26 16:17:45 +08:00
    用户正在访问的定义是只浏览没有跳转新页面,还是可以有打开新页面的动作;如果有跳转新页面的动作可以试试 PWA 的方案
    dudubaba
        6
    dudubaba  
       2022-04-26 17:28:13 +08:00
    不用实时更新,监听路由变化,只要切页面了就请求是否升级的接口,然后做出对应处理完事,等于没切一个页面多调一个接口,性能消耗忽略不计。
    ccyu220
        7
    ccyu220  
       2022-04-26 17:31:22 +08:00 via iPhone
    提示更新其实不用特别实效性

    在主接口或者 session 里面带上版本更新就好了,然后在顶部或者右下角提示。

    参考各大开源项目文档。
    vision1900
        8
    vision1900  
       2022-04-27 02:56:05 +08:00
    你这是真的把 Web 当成了 App 啊,文件名有 hash 的话点一下刷新按钮的事儿

    在我看来属于 Over Engineering 了
    xQmQ
        9
    xQmQ  
       2022-04-27 03:21:32 +08:00 via iPhone
    参考 rsshub 文档的那种右下角更新通知?
    IvanLi127
        10
    IvanLi127  
       2022-04-27 11:10:47 +08:00
    开个接口返回前端静态资源的版本号呗,前端定期检查并对比和自己拿到的静态资源版本号不匹配就提醒咯。提醒形式就看你们设计怎么处理咯。
    panxiuqing
        11
    panxiuqing  
       2022-04-27 11:23:07 +08:00
    定时请求入口 HTML
    ImmerTry
        12
    ImmerTry  
       2022-06-26 11:36:57 +08:00
    @panxiuqing 这个怎么做,求指教
    hoosin
        13
    hoosin  
       64 天前   1
    ImmerTry
        14
    ImmerTry  
       63 天前
    @hoosin 好的佬,我来试试
    div class="sep20">
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2541 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 01:34 PVG 09:34 LAX 17:34 JFK 20:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86