cookie可以在用戶(hù)的瀏覽器中保存一些信息,比如用戶(hù)的用戶(hù)名,密碼等。今天這篇博文就說(shuō)一說(shuō)利用用原生的JAVAscript代碼來(lái)設(shè)置cookie,讀取cookie,以及刪除cookie的方法。
什么是cookie ?cookie:是記錄在用戶(hù)瀏覽器中的信息,通常情況下是以“鍵/值”的形式進(jìn)行存儲(chǔ)的,可設(shè)置過(guò)期的時(shí)間.
如以下格式
name=mochu
name:為鍵名,也就是cookie記錄的變量名
mochu:為cookie記錄的值
當(dāng)web頁(yè)面向服務(wù)器發(fā)出請(qǐng)求時(shí),屬于此頁(yè)面的所有cookie信息,也一并上傳到服務(wù)器,服務(wù)器端可以通過(guò)對(duì)cookie的識(shí)別,來(lái)辨別出頁(yè)面的來(lái)源或是用戶(hù)的身份。
js中可以通過(guò) document.cookie 來(lái)創(chuàng)建 cookie
可以直接創(chuàng)建一個(gè) cookie
document.cookie = "Name=mochu";
創(chuàng)建一個(gè)帶有過(guò)期時(shí)間的 cookie ,這里用的是 GMT 時(shí)間
document.cookie = "Name=mochu ; expires = Sat, 10 Aug 2019 08:55:38 GMT";
注意:如果不設(shè)置過(guò)期時(shí)間,則在瀏覽器關(guān)閉時(shí),cookie自動(dòng)過(guò)期或刪除
設(shè)置cookie的有效果路徑,默認(rèn)情況下,cookie只對(duì)當(dāng)前頁(yè)面有效果
path=/:表示cookie對(duì)web頁(yè)面所屬網(wǎng)站的全部頁(yè)面有效果,你也可以自定義其它路徑
document.cookie = "Name=mochu ; expires = Sat, 10 Aug 2019 08:55:38 GMT ;path=/";
函數(shù)代碼
function setCookie(name, value, time='',path='') { if(time && path){ var strsec = time * 1000; var exp = new Date(); exp.setTime(exp.getTime() + strsec * 1); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path="+path; }else if(time){ var strsec = time * 1000; var exp = new Date(); exp.setTime(exp.getTime() + strsec * 1); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); }else if(path){ document.cookie = name + "=" + escape(value) + ";path="+path; }else{ document.cookie = name + "=" + escape(value); }}
函數(shù)調(diào)用
setCookie("Name", "mochu", 20);
參數(shù):cookie名稱(chēng),cookie值,過(guò)期時(shí)間(秒為單為),路徑
js讀取 cookie 的方法js 讀取cookie的方法也是要用到 document.cookie
如下代碼:
var x = document.cookie;
document.cookie,會(huì)以字符串的形式反回所有的cookie
例:
setCookie("Name", "mochu",20,'/');setCookie("pass", "123", 20, '/');var x = document.cookie;console.log(x);
打印結(jié)果:
Name=mochu; pass=123
document.cookie 獲取到的 cookie 都是字符串的形式,我們可以對(duì)其獲取的結(jié)果進(jìn)行加工,來(lái)輸出指定的 cookie
function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)){ return unescape(arr[2]); }else{ return null; }}
調(diào)用方法
console.log(getCookie('Name'));
打印結(jié)果:
mochujs刪除 cookie 的方法
js 刪除cookie 的操作非常簡(jiǎn)單,只要將 cookie 的過(guò)期時(shí)候設(shè)置成比當(dāng)前時(shí)間小就可以了
自定義函數(shù)代碼:
function delCookie('Name'); { var exp = new Date(); exp.setTime(exp.getTime() - 1); // 這里需要判斷一下cookie是否存在 var c = getCookie(name); if (c != null){ document.cookie = name + "=" + c + ";expires=" + exp.toGMTString(); }}
調(diào)用方式:
delCookie('Name');JavaScript 操作 cookie 代碼整理:
1.《cookie js設(shè)置cookie,讀取cookie,刪除cookie的方法》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《cookie js設(shè)置cookie,讀取cookie,刪除cookie的方法》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/keji/347512.html