V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mamahaha
V2EX  ›  问与答

请教一下大家,新建文章时未发布直接离开,然后下次新建文章时会显示上次编辑时的内容,这个是啥原理?

  •  
  •   mamahaha · 2019-02-09 17:52:44 +08:00 · 1502 次点击
    这是一个创建于 2103 天前的主题,其中的信息可能已经有所发展或是发生改变。

    是 cookie ?还是缓存?还是设置了自动保存数据库呀?

    8 条回复    2019-02-10 12:27:30 +08:00
    malusama
        1
    malusama  
       2019-02-09 17:54:17 +08:00   ❤️ 1
    储存在 IndexedDB 里?
    KasuganoSoras
        2
    KasuganoSoras  
       2019-02-09 17:58:00 +08:00   ❤️ 3
    那要看你说的是什么程序
    像是 WordPress,它会每隔一段时间自动把你编辑中的内容存到数据库
    而像 Discuz 论坛这些,它是把你编辑中的内容存到 Cookie 的
    大部分都是 Cookie,因为可以减轻服务器的负担,数据只存在客户端本地
    580a388da131
        3
    580a388da131  
       2019-02-09 19:02:11 +08:00 via iPhone   ❤️ 1
    方法很多呀
    专门表 专门的标记 浏览器 storage 之类
    namesc
        4
    namesc  
       2019-02-09 19:21:14 +08:00   ❤️ 1
    V 站的是保存在 Local Storage,每输入一个字符都会触发保存

    字段名格式是:lscache-topic:{帖子 ID}:reply:draft:by:{用户 ID}
    sdijeenx
        5
    sdijeenx  
       2019-02-09 19:26:29 +08:00   ❤️ 1
    未发布信息保存在浏览器 Local Storage 中:

    举个例子:
    lscache-topic:532819:reply:draft:by:248872-cacheexpiration 26345448
    lscache-topic:532819:reply:draft:by:248872 不如先买个空气净化器,燃放鞭炮
    ochatokori
        6
    ochatokori  
       2019-02-09 20:16:43 +08:00 via Android   ❤️ 1
    cookie 不适合存草稿
    不然发个请求还要额外处理不带上草稿

    感觉好多地方对 cookie 的描述都过时了

    现代的都是 indexeddb 或者 localstorage
    mamahaha
        7
    mamahaha  
    OP
       2019-02-10 10:50:31 +08:00 via iPad
    感谢大家,这个 localstorage 厉害了啊,刚刚去知乎试了一下,竟然连上传的图片都能留下来。
    yingfengi
        8
    yingfengi  
       2019-02-10 12:27:30 +08:00 via Android
    localstorage 还是很牛逼的,之前接触 H5 的时候小伙伴就用 H5 做了了记账的 APP。当初都是萌新,就用的 localstorage 做的存储,虽然是个很不靠谱的做法,但是居然实现了。emmmm
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:18 · PVG 04:18 · LAX 12:18 · JFK 15:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.