javascript - 关于浏览器刷新保存数据的问题

查看:118
本文介绍了javascript - 关于浏览器刷新保存数据的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有个需求:页面有一个文本框,我在里面写了点文字,当我刷新浏览器的时候,这个文本框不清空,还是原来的文字,但是我如果在浏览器不关闭的情况下又打开了一个有这个文本框的页面,此时文本框是空的。
我本来想用cookie做,但是发现只有在浏览器关闭了以后才会清除cookie,(而我先走是在不关闭浏览器的情况下,再次打开那个页面,文本框是空的)

解决方案

cookiesessionlocalStorage不是关键,这三个都不会区分新开页和刷新页。

你需要自己写代码处理,我想到的最简单的方式是学习单页面webapp那样,给url加内容

比如你打开那个文本框的链接是 http:localhost/answer/13434
执行下面这些步骤

  • 打开之后立即判断url结尾是否有#autoSave,

  • 如果没有那么把url改成这样http:localhost/answer/13434#autoSave

  • 如果有就从存储中读取之前的文本值,

  • 然后你每隔60s保存一次文本框的值,存到哪里无所谓。cookie localStorage随意。

下面是我写的一个简单示例

window.onload = function(){
    if(location.href.endsWith('#autoSave')){
        load(); 
    }else{
        // 当前文本是空的,利用保存方法清空过去的信息
        save()
        location.href = location.href + '#autoSave';
    }
    setInterval(save(),60000);
}

这篇关于javascript - 关于浏览器刷新保存数据的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆