2014-07-21 97 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