溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript中怎么設(shè)置cookie

發(fā)布時(shí)間:2021-07-06 16:58:26 來源:億速云 閱讀:125 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)JavaScript中怎么設(shè)置cookie,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

  JavaScript怎樣設(shè)置cookie

  語法:

  document.cookie=" name=value ; expire=GMT_String ; path=cookieDir ; domain=cookieDomain "

  對(duì)cookie格式的說明

  鍵/值 對(duì) 說明

  name=value 必需。設(shè)置cookie的名稱和值,一次只能設(shè)置一個(gè)。

  在cookie的名稱或值中不會(huì)出現(xiàn)分號(hào)( ; )、逗號(hào)( , )、等號(hào)( = )、空格以及中文等,否則將會(huì)被瀏覽器編碼。在cookie的名稱中做到這點(diǎn)很容易(名稱一般是開發(fā)人員設(shè)定好的),但是保存的值是不確定的,如何來存儲(chǔ)這些值呢?方法是用escape()函數(shù)進(jìn)行編碼,它能將一些特殊符號(hào)使用十六進(jìn)制表示,例如空格將會(huì)編碼為“20%”,從而可以存儲(chǔ)于cookie值 中,而且使用此種方案還可以避免中文亂碼的出現(xiàn)。

  例如,將“小明”存入cookie:

  document.cookie="username="+eacape("小明");

  expire=GMT_String 可選。設(shè)置cookie的過期時(shí)間。

  默認(rèn)情況下(不設(shè)置expire),用戶關(guān)閉瀏覽器時(shí)會(huì)銷毀cookie,這些cookie僅僅是存儲(chǔ)在內(nèi)存中,而沒有建立相應(yīng)的硬盤文件。在實(shí)際開發(fā)中,cookie 通常需要長期保存,例如保存用戶登錄的狀態(tài),可以通過設(shè)置 cookie 的過期時(shí)間來實(shí)現(xiàn)。

  過期時(shí)間是以GMT格式表示的時(shí)間字符串,超過這個(gè)時(shí)間,cookie將消失,不可訪問。

  例如,如果要將cookie設(shè)置為10天后過期:

  var date=new Date(); // 更多請(qǐng)參考 JavaScript Date 對(duì)象

  var expireDays=10;

  date.setTime(date.getTime()+expireDays*24*3600*1000);

  path=cookieDir 可選。設(shè)置cookie的有效路徑。

  默認(rèn)情況下(不設(shè)置path),cookie只在當(dāng)前路徑下有效,路徑范圍之外不能訪問該cookie。例如,在 /javascript/jiaocheng/ 路徑下設(shè)置的cookie,只能被 /javascript/jiaocheng/ 路徑下的文件以及子目錄下的文件訪問。

  要使 cookie 全站有效,請(qǐng)?jiān)O(shè)置 path=/ 。

  domain=cookieDomain 可選。設(shè)置cookie的有效域名。

  默認(rèn)情況下(不設(shè)置 domain),cookie 只在當(dāng)前域名下有效。例如,在 demo.itxueyuan.org 下設(shè)置的 cookie ,不能在 javascript.itxueyuan.org 域名下訪問。

  要使 cookie 在 itxueyuan.org 的所有二級(jí)域名和主域名下都有效,請(qǐng)?jiān)O(shè)置 domain=.itxueyuan.org

  請(qǐng)看下面幾個(gè)設(shè)置 cookie 的例子。

  最簡單的 cookie 設(shè)置:

  JavaScript怎樣設(shè)置cookie

  document.cookie=" name=xiaoming ";

  對(duì) cookie 的值進(jìn)行 escape() 編碼:

  var cookieValue=" 小明 ";

  document.cookie=" name= "+escape(cookieValue) ;

  設(shè)置有效路徑為全站有效:

  document.cookie=" name=xiaoming ; path=/ ";

  設(shè)置過期時(shí)間為 1 天:

  var date=new Date(); // 創(chuàng)建日期對(duì)象

  var cookieExpire=date.getTime()+24*3600*1000; // 以微妙計(jì)算

  document.cookie=" name=xiaoming ; expire= "+cookieExpire;

  舉例,將IT學(xué)院會(huì)員的用戶名和密碼保存到cookie,過期時(shí)間一個(gè)月,全站有效,所有域名有效:

  var username="小明";

  var password="123456";

  var expire=(new Date()).getTime()+1000*3600*24*30;

  document.cookie = " username=" + escape(username) + " expire=" + expire + " ; path=/ ; domain=.itxueyuan.org ";

  document.cookie = " password=" + escape(password) + " expire=" + expire + " ; path=/ ; domain=.itxueyuan.org ";

上述就是小編為大家分享的JavaScript中怎么設(shè)置cookie了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI