新聞中心
HTML 本身并不能直接設(shè)置 cookies,它只能通過(guò) JavaScript 來(lái)操作,Cookies 是存儲(chǔ)在用戶瀏覽器上的一小段文本信息,用于記錄用戶的某些操作狀態(tài)或者偏好設(shè)置,在前端開(kāi)發(fā)中,我們經(jīng)常需要使用 cookies 來(lái)實(shí)現(xiàn)用戶的登錄狀態(tài)保持、購(gòu)物車功能等。

為高昌等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及高昌網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、成都做網(wǎng)站、高昌網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
下面我將詳細(xì)介紹如何使用 JavaScript 來(lái)設(shè)置 cookies。
1、創(chuàng)建 Cookies
要?jiǎng)?chuàng)建一個(gè)新的 cookies,我們需要使用 document.cookie 屬性,這個(gè)屬性可以接受一個(gè)字符串值,該值包含了 cookie 的名稱和值,以及其它一些可選的參數(shù)。
我們可以使用以下代碼來(lái)創(chuàng)建一個(gè)名為 "username" 的 cookies,并設(shè)置其值為 "張三":
document.cookie = "username=張三";
2、讀取 Cookies
要讀取一個(gè)已存在的 cookies,我們可以使用 document.cookie 屬性,這個(gè)屬性會(huì)返回一個(gè)字符串,包含了當(dāng)前頁(yè)面所有的 cookies,我們可以對(duì)這個(gè)字符串進(jìn)行解析,以獲取我們需要的信息。
我們可以使用以下代碼來(lái)讀取名為 "username" 的 cookies:
function getCookie(name) {
var cookieArr = document.cookie.split(";");
for (var i = 0; i < cookieArr.length; i++) {
var cookiePair = cookieArr[i].split("=");
if (name == cookiePair[0].trim()) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
var username = getCookie("username");
console.log(username); // 輸出 "張三"
3、修改 Cookies
要修改一個(gè)已存在的 cookies,我們可以先刪除原有的 cookies,然后重新創(chuàng)建一個(gè)新的 cookies,需要注意的是,如果設(shè)置了 maxage 或 expires 參數(shù),cookie 會(huì)被持久化到磁盤(pán)上,即使關(guān)閉瀏覽器也不會(huì)被刪除,在修改 cookies 時(shí),我們需要先刪除這些參數(shù)。
我們可以使用以下代碼來(lái)修改名為 "username" 的 cookies:
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
setCookie("username", "李四", 7); // 將 "username" 的值修改為 "李四",有效期為 7 天
4、刪除 Cookies
要?jiǎng)h除一個(gè)已存在的 cookies,我們可以將其過(guò)期時(shí)間設(shè)置為一個(gè)過(guò)去的時(shí)間點(diǎn),這樣,當(dāng)瀏覽器訪問(wèn)這個(gè) cookies 時(shí),會(huì)發(fā)現(xiàn)它的過(guò)期時(shí)間已經(jīng)過(guò)去了,從而自動(dòng)刪除它。
我們可以使用以下代碼來(lái)刪除名為 "username" 的 cookies:
function deleteCookie(name) { this.setCookie(name,"",1); }
deleteCookie("username"); // 刪除名為 "username" 的 cookies
5、Cookie 的其他參數(shù)
除了名稱和值之外,我們還可以使用一些可選的參數(shù)來(lái)設(shè)置 cookies,以下是一些常用的參數(shù):
path:指定 cookie 的作用范圍,默認(rèn)值為當(dāng)前路徑(/),表示在整個(gè)網(wǎng)站上都可以訪問(wèn)這個(gè) cookie,如果要限制 cookie 的作用范圍,可以設(shè)置一個(gè)具體的路徑。path=/user 表示這個(gè) cookie 只能在 /user 這個(gè)路徑下訪問(wèn)。
domain:指定 cookie 所屬的域名,默認(rèn)值為當(dāng)前域名,表示這個(gè) cookie 只能在當(dāng)前域名下訪問(wèn),如果要讓 cookie 在多個(gè)域名下都可以訪問(wèn),可以設(shè)置一個(gè)具體的域名。domain=.example.com 表示這個(gè) cookie 可以在 example.com 及其所有子域名下訪問(wèn)。
secure:指定是否僅通過(guò) HTTPS 安全連接傳輸 cookie,默認(rèn)值為 false,表示可以通過(guò) HTTP 和 HTTPS 兩種連接傳輸 cookie,如果要確保 cookie 的安全性,可以將其設(shè)置為 true,但是需要注意的是,這樣設(shè)置后,cookie 將無(wú)法通過(guò)非安全連接傳輸,可能導(dǎo)致某些情況下無(wú)法正常使用。
標(biāo)題名稱:html如何設(shè)置cookies
鏈接分享:http://fisionsoft.com.cn/article/djoospe.html


咨詢
建站咨詢
