JavaScript中Cookie的使用之如何設(shè)置失效時(shí)間
1.什么是Cookie?
1.1簡(jiǎn)介
主要用于存儲(chǔ)訪問過的網(wǎng)站數(shù)據(jù),存儲(chǔ)瀏覽器的信息到本地計(jì)算機(jī)中,用于客戶端和服務(wù)器端的通訊
Cookie 是為了解決“如何記住用戶信息”而發(fā)明的:
- 當(dāng)用戶訪問網(wǎng)頁(yè)時(shí),他的名字可以存儲(chǔ)在 cookie 中。
- 下次用戶訪問該頁(yè)面時(shí),cookie 會(huì)“記住”他的名字。
注意:如果瀏覽器完全禁止cookie,大多數(shù)網(wǎng)站的基本功能都將無法正常使用,chrome瀏覽器不支持本地文件的cookie的讀取
1.2特點(diǎn)
- 以文本形式保存(.txt)
- cookie存儲(chǔ)信息不安全(不能存放重要的信息)
- cookie中有域(domain)和路徑的概念,瀏覽器是一個(gè)比較安全的環(huán)境,所以不同的域之間不能直接訪問(js的同源策略限制)
2.JavaScript操作Cookie
2.1基礎(chǔ)操作
JavaScript 可以用 document.cookie 屬性創(chuàng)建、讀取、刪除 cookie。
document.cookie='name=托馬' console.log(document.cookie)
Cookie的常用屬性:
name cookie
的名字(鍵)value cookie
存放的值expires
:指cookie過期的時(shí)間(該時(shí)間為世界時(shí)間 UTC時(shí)間)也稱為格林威治時(shí)間max-age
:指cookie最大的存活有效期(單位:秒)domain
: 指的是cookie當(dāng)前的域path
:指cookie當(dāng)前的路徑size
:指cookie存放的大小secure
:指cooke的安全屬性
注意:expires和max-age的默認(rèn)值為session代表關(guān)閉瀏覽器,該cookie則清空、失效
2.2設(shè)置失效時(shí)間
需求:設(shè)置一個(gè)60分鐘后失效的Cookie
function setCookie(name,val,min){ var now=new Date(); //設(shè)置時(shí)間 now.setMinutes(now.getMinutes()+min) //設(shè)置Cookie document.cookie=name+'='+val+';expires='+now.toUTCString() } setCookie('托馬','火',60)
控制臺(tái)顯示的失效時(shí)間
系統(tǒng)當(dāng)前時(shí)間:
一個(gè)小時(shí)候的時(shí)間應(yīng)該為16:55,但控制臺(tái)輸出的是08:55,因?yàn)檫@個(gè)時(shí)間是世界時(shí)間 (UTC時(shí)間),也稱為格林威治時(shí)間。
百度一下查得:
所以8:55+8:00=16:55,我們?cè)O(shè)置的失效時(shí)間成功。
提前清除緩存:
function setCookie(name,val,min){ var now=new Date(); //設(shè)置時(shí)間 now.setMinutes(now.getMinutes()+min) //設(shè)置Cookie document.cookie=name+'='+val+';expires='+now.toUTCString() } setCookie('托馬','火',1) //通過一次性定時(shí)器提前清除Cookie setTimeout(function(){ setCookie('托馬','',-1) },3000) // setCookie('托馬','',-1) //第一個(gè)參數(shù)一定要對(duì)應(yīng),不然找不到這個(gè)Cookie //第二個(gè)參數(shù)可寫可不寫 //第三個(gè)參數(shù)設(shè)置為-1
演示結(jié)果:
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js判斷滾動(dòng)條是否已到頁(yè)面最底部或頂部實(shí)例
這篇文章主要介紹了js判斷滾動(dòng)條是否已到頁(yè)面最底部或頂部的原理與方法,以實(shí)例的形式詳細(xì)分析了js實(shí)現(xiàn)返回頂部功能所涉及的各種技巧,并對(duì)相關(guān)知識(shí)點(diǎn)進(jìn)行了總結(jié)歸納,需要的朋友可以參考下2014-11-11詳解 javascript對(duì)象創(chuàng)建模式
這篇文章主要介紹了詳解 javascript對(duì)象創(chuàng)建模式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript的相關(guān)知識(shí)。感興趣的朋友可以了解下2020-10-10原生JS實(shí)現(xiàn)各種運(yùn)動(dòng)之勻速運(yùn)動(dòng)
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)各種運(yùn)動(dòng)之勻速運(yùn)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08讓網(wǎng)站自動(dòng)生成章節(jié)目錄索引的多個(gè)js代碼
這篇文章主要介紹了讓博客園博客自動(dòng)生成章節(jié)目錄索引的多個(gè)js代碼,需要的朋友可以參考下2018-01-01js實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的幾種方法小結(jié)
下面小編就為大家?guī)硪黄猨s實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的幾種方法小結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過來看看吧2016-05-05BootStrap下拉菜單和滾動(dòng)監(jiān)聽插件實(shí)現(xiàn)代碼
這篇文章主要介紹了BootStrap下拉菜單和滾動(dòng)監(jiān)聽插件實(shí)現(xiàn)代碼的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09BootStrap Table 設(shè)置height表頭與內(nèi)容無法對(duì)齊的問題
這篇文章主要介紹了BootStrap Table 設(shè)置height表頭與內(nèi)容無法對(duì)齊的問題,需要的朋友可以參考下2016-12-12