2016-02-26 64 views
0

所以我是JavaScript新手,我有點卡住了。 我想允許我的cookie在我的所有頁面上工作。 我知道我需要添加「/」到路徑。唯一的問題是我得到的小腳本與那裏的所有例子有點不同。Javascript Cookie define Path

有人知道該把它放在哪裏嗎?

var expdate = new Date(); 
expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 365)); 

function setCookie(name, value, expires, path, domain, secure) { 
    var thisCookie = name + "=" + escape(value) + ((expires) ? "; expires=" + 
    expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? "; secure" : ""); 
    document.cookie = thisCookie; 

} 

function showCookie() { 
    alert(unescape(document.cookie)); 
} 

function getCookieVal(offset) { 
    var endstr = document.cookie.indexOf(";", offset); 
    if (endstr == -1) endstr = document.cookie.length; 
    return unescape(document.cookie.substring(offset, endstr)); 
} 

function GetCookie(name) { 
    var arg = name + "="; 
    var alen = arg.length; 
    var clen = document.cookie.length; 
    var i = 0; 
    while (i < clen) { 
    var j = i + alen; 
    if (document.cookie.substring(i, j) == arg) return getCookieVal(j); 
    i = document.cookie.indexOf(" ", i) + 1; 
    if (i === 0) break; 
    } 
    return null; 
} 

function MyNamer() { 
    var now = new Date(); 
    now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000); 
    var username = GetCookie("username"); 
    if ((!username) || (username == 'null')) { 
    username = prompt("What is your name?:", ""); 
    } 
    setCookie("username", username, now); 
    if (username) { 
    document.write(username); 
    setCookie("username", username, now); 

    } else 
    document.write("Guest") 
} 

在此先感謝!

回答

0

那麼從你的代碼,它看起來像在setCookie第四參數是你想要的:

setCookie(name, value, expires, path, domain, secure) 

例如setCookie("myCookie", "myCookieValue", new Date(), "/")

你使用的cookie是什麼?您提出請求的網絡服務器控制Cookie數據,包括路徑。如果你只是存儲數據,那麼你可以使用瀏覽器的'local/session storage對象?

+0

謝謝, 我想用它來記住用戶的名字。當用戶進入網站時會彈出一條消息並要求提供一個名稱。該名稱存儲爲cookie,但僅當用戶訪問主頁(位於主目錄中)時纔會被存儲。我希望這可以在所有頁面上都可用。 – Niels