Javascript 對cookie操作詳解及實(shí)例
js 操作 cookie 的方法
cookie
cookie,有時(shí)候也用其復(fù)數(shù)形式Cookies,指某些網(wǎng)站為了辨別用戶身份,進(jìn)行session跟蹤而儲存在用戶本地終端上的數(shù)據(jù)(經(jīng)常通過加密)。定義于RFC2109和2965都已廢棄,最新取代的規(guī)范是RFC6265。
cookie的作用
服務(wù)器可以利用Cookie包含信息的任意性來篩選經(jīng)常性維護(hù)這些信息,以判斷在HTTP傳輸中的狀態(tài)。Cookie最典型的英語是判斷注冊用戶是否已經(jīng)登錄網(wǎng)站,用戶可能會得到提示,是否在下一次進(jìn)入此網(wǎng)站時(shí)保留用戶信息以便簡化登錄步驟,浙西都是Cookie的功能。另一個重要張合是“購物車”之類處理。用戶可能會在一段時(shí)間內(nèi)在同一家網(wǎng)站的不同頁面中選擇不同的商品,這些信息都會寫入Cookie,以便在最后付款時(shí)提取信息。
js設(shè)置cookie
document.cookie="key=value"; //例 document.cookie="name=weiqi"; //可以在控制臺中打印出cookie console.log(document.cookie);
如何修改和獲取cookie
js中并沒有提供獲取cookie的方法,所以只能自己封裝方法,相同的key的cookie只能存在一個,如果定義了一個document.cookie="age=21",后面又定義了document.cookie="age=30",那么后面定義的cookie會覆蓋前面定義的cookie,所以修改cookie值的時(shí)候只用重新定義個key相同的cookie就可以了。那么獲取cookie的時(shí)候也只用在cookie中獲取到這個key后面的“=”和“;”直接的字符串,那就是這個cookie的值了,獲取的方法又很多種,這里我寫一種比較簡單的:
function getCookie(key){ var index = document.cookie.indexOf(key); var returnValue; if(index!==-1){ var tIndex = document.cookie.indexOf(";",index); var target = document.cookie.substring(index,tIndex); var returnValue = decodeURIComponent(target.replace(key+"=","")) } return returnValue; } document.cookie="name=weiqi"; getCookie("name"); //weiqi
刪除cookie
cookie是有有效期的,前面我們設(shè)置cookie的時(shí)候都沒有設(shè)置有效期,如果我們將cookie的有效期設(shè)置成一個已經(jīng)過去的時(shí)間,那么它就無效了,下面來實(shí)現(xiàn)一下:
function delCookie(key){ var d = new Date(); document.cookie=key+"=;expires="+ d.toGMTString(); } document.cookie="name=weiqi"; delCookie("name"); //undefined
給cookie設(shè)置一個有效期
通過expires給cookie設(shè)置一個有效期,現(xiàn)在我們設(shè)置一個cookie的有效期是10天,如下:
var d = new Date(); var time = 10; d.setTime(d.getTime()+time*1000*60*60*24); document.cookie="name=weiqi;expires="+ d.toGMTString();
封裝cookie
將自定義的一些方法完善一下封裝成一個對象,這樣在使用的時(shí)候就可以直接拿來用了:
//封裝cookie方法的對象 var cookie = { setCookie:function(key,value,time){ if(key == undefined){ return; } if(time!== undefined){ var d = new Date(); d.setTime(d.getTime()+time*1000*60*60*24); document.cookie=key+"="+value+";expires="+ d.toGMTString(); }else{ document.cookie=key+"="+value; } }, getCookie:function(key){ var index = document.cookie.indexOf(key); var returnValue; if(index!==-1){ var tIndex = document.cookie.indexOf(";",index); var target = document.cookie.substring(index,tIndex); var returnValue = decodeURIComponent(target.replace(key+"=","")) } return returnValue; }, delCookie:function(key){ var d = new Date(); document.cookie=key+"=;expires="+ d.toGMTString(); } } //測試 cookie.setCookie("home") cookie.setCookie("name","衛(wèi)旗"); cookie.setCookie("age",22); cookie.setCookie("sex","男") cookie.getCookie("sex") cookie.delCookie("age")
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
js前端技巧之圖片格式轉(zhuǎn)換(File、Blob、base64)
這篇文章主要給大家介紹了關(guān)于js前端技巧之圖片格式轉(zhuǎn)換(File、Blob、base64)的相關(guān)資料,主要記錄一下比較常見的圖片格式(File、Blob、base64)在不同的場景他們之間的相互轉(zhuǎn)換的方法,需要的朋友可以參考下2023-04-04使用mouse事件實(shí)現(xiàn)簡單的鼠標(biāo)經(jīng)過特效
這篇文章主要介紹了使用mouse事件實(shí)現(xiàn)簡單的鼠標(biāo)經(jīng)過特效的方法,需要的朋友可以參考下2015-01-01js實(shí)現(xiàn)隨機(jī)抽選效果、隨機(jī)抽選紅色球效果
本文主要分享了js實(shí)現(xiàn)隨機(jī)抽選效果、隨機(jī)抽選紅色球效果的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01在layui框架中select下拉框監(jiān)聽更改事件的例子
今天小編就為大家分享一篇在layui框架中select下拉框監(jiān)聽更改事件的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09javascript中的緩動效果實(shí)現(xiàn)程序
javascript中的緩動效果可以應(yīng)用于很多地方,比如距離位移上的變化:圖片的滾動、焦點(diǎn)圖的輪轉(zhuǎn)切換,透明度上的變化:漸隱漸現(xiàn)。凡是存在運(yùn)動的狀態(tài)都適用,下面以最基本的塊在容器內(nèi)從左到右滑動為例,講下幾種不同的緩動處理方式2012-12-12微信小程序點(diǎn)擊滾動到指定位置的實(shí)現(xiàn)
這篇文章主要介紹了微信小程序點(diǎn)擊滾動到指定位置的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05