2 shanjin3953 shanjin3953 于 2017.01.13 14:04 提问

关于localStorage本地存储的问题?
 var aaa = 'afwefrwefwef';
            var obj = {};
            var num = 1;
            var storage = window.localStorage;
            $('#button').click(function(){
                num++;
                obj[num] = aaa;
                storage.setItem("oXML", JSON.stringify(obj));
            })

这是代码,我每次点击button后存储是正常的,但是刷新页面后,再点击button之前存储的数据就会被清空,请问有什么方法可以让刷新后再点击也不清空数据吗?

3个回答

showbo
showbo   Ds   Rxr 2017.01.13 14:45
已采纳

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<input type="button" id="button">
<script>
    var aaa = 'afwefrwefwef';
    var storage = window.localStorage;
    ////////////
    var obj = storage.getItem("oXML");
    obj = obj ? JSON.parse(obj) : {};
    ////////////
    console.log(obj)
    var num = 1;
    $('#button').click(function () {
        num++;
        obj[num] = aaa;
        storage.setItem("oXML", JSON.stringify(obj));
    })
</script>
qq_28707015
qq_28707015   2017.01.13 14:14

再点击之后,之前的数据被你覆盖了,你可以将之前的数据取出来,和之后的数据合并再写入localstorage

shanjin3953
shanjin3953 能够写下吗,我也这样做过,但是一直不行
一年多之前 回复
sinat_30907827
sinat_30907827   2017.01.20 16:36

同意楼上,在setItem之前先getItem将之前的值取出来,然后和后面的值拼接起来再setItem

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
H5本地存储LocalStorage缺点
localStorage大小限制在500万字符左右,各个浏览器不一致 localStorage在隐私模式下不可读取 localStorage本质是在读写文件,数据多的话会比较卡(firefox会一次性将数据导入内存,想想就觉得吓人啊) localStorage不能被爬虫爬取,不要用它完全取代URL传参
native 嵌套 h5(localstorage) 本地存储问题
native 嵌套h5 本地存储问题,按照正常逻辑来说(localStorage、sessionStorage),本是没有任何问题的。但是 native 嵌套之后,问题就出现了,就是localStorage/sessionStorage 存储值的时候出问题了,都会在native 端报 null,无法使用本地存储,难道是这样吗?难道不支持吗?顺间,你会感觉到一大堆的问题都在h5上。其实都是native
webview支持LocalStorage本地存储
我的android是个半吊子,所以经常会碰到很多问题,今天用到webview,发先前几天打的包,今天不能用了。登录死活不跳转,找了找原因,发现是昨天加的html5的本地存储,但是webview不支持造成的。 网上找了找资料,很多都不能用,这里谢谢android_Y //允许JavaScript执行 webView.getSettings().setJ
localStorage 本地存储
一 :localStorage和sessionStorage(1)localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。 (2)他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现)。 (3)localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否
html5本地存储之sessionStorage与localStorage的异同
最近有同事反映html5本地存储的问题,由于数据量较大,在手机端会莫名其妙的丢失。后来经过测试,发现安卓机型实际本地存储的空间只有3M左右。由于之间有很多json请求的时候连接用的问号传参且将数据保存到了本地,导致本地出现大量的缓存如 a.asp?id=1 a.asp?id=2 b.asp?id=1 一直头疼怎么干掉这些缓存数据,今天在网上看到了一则有关localStore使用的帖子,分享给
H5本地存储LocalStorage的属性与方法
属性方法   说明 localStorage.length 获得storage中的个数 localStorage.key(n) 获得storage中第n个元素对的键值(第一个元素是0) localStorage.key 获取键值key对应的值 localStorage.getItem(key) 获取键值key对应的值
在vue中,localStorage本地存储应用。
1、先存在localStorage里面。 localStorage.setItem('indexUrl','#/IndexA'); 2、在用到的时候,获取数据 //获取本地 this.indexUrl = localStorage.getItem('indexUrl');
html5本地存储localStorage 存储json对象存储格式问题
html5本地存储localStorage 存储json对象存储格式问题 localStorage.setItem(att)会自动将att存储成字符串形式,如: var arr=[1,2,3];localStorage.setItem("temp",arr);typeof localStorage.getItem("temp");会返回StringlocalStorage.getI
H5本地存储sessionStorage和localStorage的区别
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。当用户关闭浏览器窗口后,数据立马会被删除。 localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。第二天、第二周或下一年之后,数据
实例以及详解localStorage进行本地存储
localStorage的使用方法 localStorage的方法非常简单,就是基本的增删查 几点注意 存储在 localStorage 里面的数据没有过期时间(expiration time),而存储在 sessionStorage 里面的数据会在浏览器会话(browsing session)结束时被清除,即浏览器关闭时。 无论是 localStorage 还是 sessionStorag