概述
最近項目要用到cookie存儲部分用戶信息;研究了一下做一下分享
Cookie 是服務器保存在瀏覽器的一小段文本信息,每個 Cookie 的大小一般不能超過4KB。瀏覽器每次向服務器發出請求,就會自動附上這段信息。
設置cookie存儲
document.cookie = 'userName=fengkaicahng';
注意 設置cookie一次只能存儲一條
cookie可以多次設置 key相同不會重新賦值而是會新建一條cookie
讀取cookie
var allCookies = document.cookie;//一次讀取所有cookie 字符串形式//所以一般我們還要做一次轉換var cookiesArray = document.cookie.split(';'); console.log(cookiesArray);cookie的幾個屬性
value (必須)一個鍵值對,用來指定cookie的值
document.cookie = 'userName=fengkaicahng';
expires 指定Cookie過期時間;格式采用Date.toUTCString()
var day = new Date(); day.setTime(day.getTime()+(1*24*60*60*1000));//設置一天的有效期//如果不設置; 默認時間是當前會話窗口關閉即失效document.cookie = 'userName=fengkaicahng;expires="+day+"';
domain 指定發送Cookie的域名
var day = new Date(); day.setTime(day.getTime()+(1*24*60*60*1000));//只有在該域名下才發送cookie,//如果不設置; 默認是設置cookie時的域名//以下配置會在fengkaichang.com 的所有子域名下生效document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;
path 指定Cookie的路徑
var day = new Date(); day.setTime(day.getTime()+(1*24*60*60*1000));//只有這個路徑和發送到服務器的路徑相同才發送cookie 可以直接配置/ 從根目錄下匹配 這個匹配并不是絕對的,//如果不設置; 默認是請求該cookie時的路徑//以下配置會在fengkaichang.com 的所有請求路徑下生效//注意 path生效的前提是domain匹配成功,否則都是扯淡document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/'
secure 指定Cookie只能在加密協議HTTPS下發送到服務器
var day = new Date(); day.setTime(day.getTime()+(1*24*60*60*1000));//這個屬性的值是一個布爾值//如果這個通信協議是HTTPS那么協議自動打開//如果手動設置 一下配置不會在普通HTTP協議下發送document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/;secure=true'
以上這篇基于Cookie常用操作以及屬性介紹就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選