简体   繁体   English

使用 LocalStorage 保存数据

[英]Using LocalStorage to save data

I am trying to use LocalStorage to save data.我正在尝试使用 LocalStorage 来保存数据。 I want to use this data to reinitialise a counter after the user refreshes.我想在用户刷新后使用此数据重新初始化计数器。 An example of my code can be found in the following JSFiddle.可以在以下 JSFiddle 中找到我的代码示例。

var hj= document.getElementById("jam");
var mm= document.getElementById("menit");
var ds= document.getElementById("detik");


var startDateTime = new Date();
var startStamp = startDateTime.getTime();
console.log(startDateTime);
console.log(startStamp);
var newDate = new Date();
var newStamp = newDate.getTime();
// console.log(newStamp);
var timer;

function pad(val) {
    return val > 9 ? val : "0" + val;
}

function updateClock() {
    newDate = new Date();
    newStamp = newDate.getTime();
    var diff = Math.round((newStamp-startStamp)/1000);

    var d = Math.floor(diff/(24*60*60));
    diff = diff-(d*24*60*60);
    var h = Math.floor(diff/(60*60));
    diff = diff-(h*60*60);
    var m = Math.floor(diff/(60));
    diff = diff-(m*60);
    var s = diff;




    // document.getElementById("time-elapsed").innerHTML = d+" day(s), "+h+" hour(s), "+m+" minute(s), "+s+" second(s) working";
    document.getElementById("jam").innerHTML=pad(h);
    document.getElementById("menit").innerHTML=pad(m);
    document.getElementById("detik").innerHTML=pad(s);

}

var time=setInterval(updateClock, 1000);

https://jsfiddle.net/o5s4y2L7/ https://jsfiddle.net/o5s4y2L7/

You can use a Cookie for this.您可以为此使用 Cookie。

var hj= document.getElementById("jam");
var mm= document.getElementById("menit");
var ds= document.getElementById("detik");


var startDateTime = new Date();
var cookie_time = getCookie("timer_start");
var startStamp = cookie_time?cookie_time:startDateTime.getTime();
setCookie("timer_start", startStamp, 1);
var newDate = new Date();
var newStamp = newDate.getTime();
var timer;

function pad(val) {
    return val > 9 ? val : "0" + val;
}

function updateClock() {
    newDate = new Date();
    newStamp = newDate.getTime();
      var diff = Math.round((newStamp-startStamp)/1000);

    var d = Math.floor(diff/(24*60*60));
    diff = diff-(d*24*60*60);
    var h = Math.floor(diff/(60*60));
    diff = diff-(h*60*60);
    var m = Math.floor(diff/(60));
    diff = diff-(m*60);
    var s = diff;




    document.getElementById("jam").innerHTML=pad(h);
    document.getElementById("menit").innerHTML=pad(m);
    document.getElementById("detik").innerHTML=pad(s);

}

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+ d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
} 

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') {
            c = c.substring(1);
        }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length,c.length);
        }
    }
    return "";
} 
var time=setInterval(updateClock, 1000);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM