Cookie 操作 #
取得所有 cookie 資料 (當下位址) #
js
let allCookieData = document.cookie
// '_ga=GA1.2.1047131248.1639753030; lux_uid=164018249336813517; _gid=GA1.2.473315065.1640182496'
allCookieData 是一個 字串,由 key=value; 所組成。
新增 (更新) 一個 cookie #
使用一個 字串 key=value 的方式寫入 cookie
js
document.cookie = 'name=naiky'
更新 cookie 當你再次設置,就會更新這個 key 的 value
js
document.cookie = 'name=niki'
設置資料的選項設置 #
網域
; domain=google.com能夠讀取到此
cookie的網域 (含子網域)google.com與mail.google.com都可以讀到此cookie。路徑
; path=/能夠讀取到此
cookie網域下的路徑,/表示整個網站都可以讀到 (這也是預設值)。有效時間 (
Expires/Max-age) 默認關閉視窗後移除指定時間
; expires=date-in-GMTString-format設置指定的存活時效,使用 toUTCString()格式當「值」
jsconst tomorrow = new Date('2021-12-24') document.cookie = `name=nike; expires=${tomorrow.toUTCString()}`注意
.toGMTString() 已被棄用。
以秒計
; max-age=max-in-secondscookie存活的時間 (以秒為單位); max-age=86400就是一天後失效。
https
secure設了
secure=true只有透過https存取這個網站才能存取這個cookie;透過http存取這個網站會看不到這個cookie。http
http onlyhttp=true無法使用javascript來讀取到cookie的資料,只能透過 服務端 訪問。