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之前存储的数据就会被清空,请问有什么方法可以让刷新后再点击也不清空数据吗?
你所谓的清空是指num变回1了吧?
恩,实际的代码不是这样的,我改了下。num每次点击都会改变
@坏人未变坏: 你把num每次改变后也存起来不久好了
你没有把num存放在localStorage,所以应该是每次刷新页面都会变的。如果需要保存num值,请照样保存到localStorage
刷新页面时num被重置 导致之前存储的字符串被替换
点击按钮存储后,他已经存储到了浏览器,每次刷新时你要主动去获取
var oXML= localStorage.getItem("oXML");
此时oXML即为你刚刚存储的数据,当然这只是简单说一下,
严谨点每次刷新时你都要先获取然后判断,如果数据存在就显示,不存在就
localStorage.setItem("oXML",“数据”);
每次刷新后,要先讲obj这些数据从storage里读出来。
<script>
var aaa = 'afwefrwefwef';
var obj = {};
var num = 1;
var oXML = Storage.getItem("oXML");
if(oXML){
obj = JSON.parse(oXML);
num = obj.num;
}
var storage = window.localStorage;
$('#button').click(function(){
num++;
obj[num] = aaa;
storage.setItem("oXML", JSON.stringify(obj));
})
</script>
有问题可以加我QQ 2057388734