2017-06-22 121 views
0

简单的cookie记录,我有7个复选框,kp1-kp7 setCookies,每次点击它们中的一些时,都会创建cookie。问题是,当我关闭浏览器并重新打开页面(本地)时,Cookie消失,它们不在那里。 当我点击复选框,并创建的cookie,他创建picture to prove itCookie始终过期instanlty

part of html code

window.onload = function(){ 

    if(document.cookie.length != 0){ 
    var nizKolacica = document.cookie.split("; "); 
    var nizVrednostiKolacica = nizKolacica.split("="); 

    // 0 - c1tip 
    // 1 - tekst/cb 
    // 2 - c2tip 
    // 3 - tekst/cb 

    if(nizVrednostiKolacica[1] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp1").checked = true; 
    }else{ 
     document.getElementById("kp1").checked = false; 
    } 

    if(nizVrednostiKolacica[3] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp2").checked = true; 
    }else{ 
     document.getElementById("kp2").checked = false; 
    } 

    if(nizVrednostiKolacica[5] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp3").checked = true; 
    }else{ 
     document.getElementById("kp3").checked = false; 
    } 

    if(nizVrednostiKolacica[7] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp4").checked = true; 
    }else{ 
     document.getElementById("kp4").checked = false; 
    } 

    if(nizVrednostiKolacica[9] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp5").checked = true; 
    }else{ 
     document.getElementById("kp5").checked = false; 
    } 

    if(nizVrednostiKolacica[12] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp6").checked = true; 
    }else{ 
     document.getElementById("kp6").checked = false; 
    } 

    if(nizVrednostiKolacica[12] == "tekst" || nizVrednostiKolacica.length == 0){ 
     document.getElementById("kp7").checked = true; 
    }else{ 
     document.getElementById("kp7").checked = false; 
    } 

    } 
} 

var kp1 = false; 
var kp2 = false; 
var kp3 = false; 
var kp4 = false; 
var kp5 = false; 
var kp6 = false; 
var kp7 = false; 

function kp1SetCoockie(){ 

    kp1 = !kp1; 
    if(kp1){ 
     document.cookie = "c1tip=tekst;expires=Sun, 25 Jun 2017 8:00:00 UTC"; 
    }else{ 
     document.cookie ="c1tip=cb"; 
    } 
} 

function kp2SetCoockie(){ 
    kp2 = !kp2; 
    if(kp2){ 
    document.cookie = "c2tip=tekst;max-age=3600"; 
    }else{ 
    document.cookie ="c2tip=cb"; 
    } 
} 

function kp3SetCoockie(){ 
    kp3 = !kp3; 
    if(kp3){ 
    document.cookie = "c3tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c3tip=cb"; 
    } 
} 

function kp4SetCoockie(){ 
    kp4 = !kp4; 
    if(kp4){ 
    document.cookie = "c4tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c4tip=cb"; 
    } 
} 

function kp5SetCoockie(){ 
    kp5 = !kp5; 
    if(kp5){ 
    document.cookie = "c5tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c5tip=cb"; 
    } 
} 

function kp6SetCoockie(){ 
    kp6 = !kp6; 
    if(kp6){ 
    document.cookie = "c6tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c6tip=cb"; 
    } 
} 

function kp7SetCoockie(){ 
    kp7 = !kp7; 
    if(kp7){ 
    document.cookie = "c7tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c7tip=cb"; 
    } 
} 

回答

0

您需要定义一个到期日期

var date = new Date(); 
    date.setTime(date.getTime() + (days*24*60*60*1000)); 
    var expires = date.toUTCString(); 
    document.cookie = name + "=" + value + "; expires=" + expires + "; path=/"; 

编辑:确实,这并不工作??

<html> 
    <head> 
     <script type="text/javascript"> 
      console.log(document.cookie); 

      var date = new Date(); 
      date.setTime(date.getTime() + (1*24*60*60*1000)); 
      var expires = date.toUTCString(); 

      console.log("test=test; expires=" + expires + "; path=/"); 
      document.cookie = "test=test; expires=" + expires + "; path=/"; 

      console.log(document.cookie); 
     </script> 
    </head> 
</html> 

我刚刚测试过,它工作。唯一没有工作的是我的Firefox扩展,告诉我有0个cookie。但是当我用console.log(document.cookie);它给我印上了饼干!

你的其他人在这里应该做什么?

if(kp3){ 
    document.cookie = "c3tip=tekst;max-age=3600; path=/"; 
    }else{ 
    document.cookie ="c3tip=cb"; 
    } 
+0

我做了kp1,但它不起作用 – Nosorog

+0

哦,我错过了第一个......嗯,定义路径? – Schlumpf

+0

尝试过它在kp3:D – Nosorog