今天小編給大家分享一下JavaScript如何對Cookie進行操作的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出永和免費做網(wǎng)站回饋大家。
Cookie 只是存儲在計算機瀏覽器中的小型文本文件。它們包含以下數(shù)據(jù):
保存數(shù)據(jù)的 Name-value 對
日期到期時,該 cookie 失效
應(yīng)將其發(fā)送到的服務(wù)器的域和路徑
而cookie也有一些值得一提的限制:
每個cookie的最大為 4096 字節(jié)
每個域最多20個cookie(每個瀏覽器略有不同)
Cookie是其自己的域名專用的(網(wǎng)站無法讀取其他域的 Cookie,只能是它自己的)
大小限制適用于整個cookie,而不僅僅是它的值
在瀏覽器中,cookie通過 DOM 被公開為 document.cookies。
下面我們將介紹如何用 JavaScript 在瀏覽器中設(shè)置、獲取、更新和刪除 Cookie 數(shù)據(jù)。
Create Cookies
用 JavaScript 在瀏覽器中設(shè)置 cookie 非常簡單!我將在下面向你展示。
(1) 設(shè)置 Cookie
以下是在瀏覽器中用 JavaScript 創(chuàng)建新 cookie 的執(zhí)行代碼:
document.cookie = "userId=nick123"
運行該代碼后,打開瀏覽器,你應(yīng)該能在開發(fā)者工具的 Application(Safari 或Chrome)或 Storage(Firefox)中找到該 cookie。
(2) 設(shè)置 cookie 的過期時間
你還可以向 Cookie 中添加過期時間(UTC),告知瀏覽器應(yīng)該在什么時候?qū)⑵鋭h除:
document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC"
(3) 設(shè)置一個 Cookie 路徑
你還可以告訴瀏覽器 cookie 所屬的路徑(默認值是當前頁面的路徑):
document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user"
(4) 設(shè)置 cookie 域
我們將介紹的最后一段數(shù)據(jù)是 cookie 所屬的域(默認為當前域):
document.cookie = "userId=nick123; expires=Wed, 15 Jan 2020 12:00:00 UTC; path=/user; domain=mysite.com"
Read Cookies
通過 document.cookie 對象,用 JavaScript 讀取 cookie 也非常簡單:
(1) 讀取單個頁面所有的 Cookie
將單個頁面的所有 cookie 作為字符串獲取,每個 cookie 用分號分隔:
const cookies = document.cookie
(2) 讀取具有特定名稱的Cookie
要訪問具有特定名稱的 cookie,我們需要獲取頁面上所有的 cookie 并解析字符串,然后查找我們想要尋找的 cookie 名稱的匹配項。
這是一個用正則表達式完成此任務(wù)的函數(shù):
function getCookieValue(name) { let result = document.cookie.match("(^|[^;]+)\\s*" + name + "\\s*=\\s*([^;]+)") return result ? result.pop() : "" }
你這樣使用該函數(shù):
getCookieValue("userId") //returns nick123
這將返回與提供給函數(shù)的 name 參數(shù)對應(yīng)的字符串值。
如果你還沒有掌握正則表達式,還有另一個同樣功能的函數(shù):
function getCookieValue(name) { const namenameString = name + "=" const value = document.cookie.split(";").filter(item => { return item.includes(nameString) }) if (value.length) { return value[0].substring(nameString.length, value[0].length) } else { return "" } }
用相同的方法使用該函數(shù):
getCookieValue("userId") //returns nick123
Update Cookies
你可以通過創(chuàng)建的方式用新值覆蓋 cookie 來更改它的值。
你可以用此代碼覆蓋本文前面創(chuàng)建的 cookie "userId" :
document.cookie = "userId=new_value"
當你再次運行 getCookieValue 函數(shù)時,將返回新值:
getCookieValue("userId") //returns new_value
Delete Cookies
你可以給 cookie 設(shè)置一個空值,并將其過期日期設(shè)置為過去的任意時間來刪除 cookie。
如果我們想要刪除前面例子的 cookie "userId" ,請按以下步驟操作:
document.cookie = "userId=; expires=Thu, 01 Jan 1970 00:00:00 UTC;"
以上就是“JavaScript如何對Cookie進行操作”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
名稱欄目:JavaScript如何對Cookie進行操作
文章地址:http://www.rwnh.cn/article0/jdjioo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、動態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)