2014-07-21 66 views
-2

我遇到了这个函数,它在一个cookie中设置了多个键值对,但是如果我想设置多个cookie呢?多个cookie和一个包含多个键值对的cookie

function setCookie(start_time,end_session_time,total_time,flag,count){ 
    document.cookie = "start_time="+start_time;; 

    if(end_session_time) { 
     document.cookie ="end_session_time="+end_session_time; 
    } 

    if(total_time){ 
     document.cookie ="total_time="+total_time; 
    } 
    if(flag){ 
     document.cookie ="flag="+flag; 
    } 
    if(count){ 
     document.cookie = "count="+count; 
    } 

    console.log("document.cookie ="+ document.cookie); 
} 
+0

它设置多个cookie。 – chendesheng

+0

你是不对的。这个函数设置**多个** cookie,不是一个cookie – hindmost

+0

,而是'console.log'似乎打印一个cookie ... – Blake

回答

1

document.cookie有点奇怪。当你阅读document.cookie时,你会得到适用于当前域/路径的所有cookie,并且在它们之间有一个分隔符。

当您设置document.cookie时,它会向当前域/路径的Cookie存储添加或删除(取决于到期日期集)新值,而不会影响未指定的其他cookie值。您可以在document.cookie的每个作业中一次添加一个新的cookie值或多个不同的cookie值。通常,添加cookie的大多数实用功能一次添加一个(仅仅因为它更简单)。

这一切都描述得相当好这里:https://developer.mozilla.org/en-US/docs/Web/API/document.cookie