最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 快照功能实现

    正文概述 掘金(refire_zj)   2020-12-24   573

    何为"快照功能"

    某个系统具有超时功能(比如半个小时不操作会超时然后返回登录页面)。系统中的某个功能块比较复杂,如果用户一直不点击"保存"按钮和后台进行交互,那么一旦系统超时,用户的工作都白费了。基于此,需要在该复杂页面记住用户的操作,给用户的操作打上"快照",避免白白浪费劳动力。

    前台实现 OR 后台实现?

    前台实现,就是利用前端的存储方案来定时进行记录存储。后台实现就是定时调用保存请求,相当于偷偷帮用户点击了"保存"按钮。后台实现方案很简单,下面分析下前台实现的方案。具体使用哪个可能要根据场景来看。

    前台实现方案分析

    1. Cookie

      大小限制在4KB,一般保存登录信息(“记住密码”)等;保存在cookie中还会携带在http头中和服务端进行通信,存在性能问题。排除

    2. Vuex

      项目使用的Vue框架,可以考虑Vuex。但是Vuex一般是解决多层组件之间的通信问题,而非单纯的存储,且刷新后信息会丢失。排除

    3. sessionStorage

      大小一般是5M。刷新后数据还在,但只在当前会话页有效,关闭页面或者浏览器后会被清除。可用,场景比较受限

    4. localStorage

      大小一般是5M。刷新后数据还在,会永久保存在浏览器中(除非被清除)。相对较优

      我们在复杂页面中,初始默认信息约0.8K,比较复杂的业务场景信息约50K,5M对于一个用户来说一般够用。

      F5或者Ctrl+R不会使Storage丢失,但是强制清除浏览器缓存会使Storage丢失。

    实现流程

    快照功能实现

    前台实现场景受限

    由纯前端实现的快照功能,会有很多无法避免的场景问题:

    1、用户在电脑A操作了一半,超时导致保存失败,如果去电脑B继续操作,无法记住上次的编排信息

    2、用户强行清除storage信息,会导致记住的编排信息丢失

    3、账号同时登陆

    4、之前是在正常页面,突然打开无痕页面,会导致记住的编排信息丢失。Chrome的无痕模式无论是哪种storage都只会暂时记住storage,Chrome目前的行为是:sessionStorage只在当前页签有效,localStorage可以跨页签,但是关闭浏览器storage信息都会丢失。


    起源地下载网 » 快照功能实现

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元