国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript之cookie技術(shù)詳解

2019-11-19 18:56:42
字體:
供稿:網(wǎng)友

運(yùn)用JS設(shè)置cookie、讀取cookie、刪除cookie
JavaScript是運(yùn)行在客戶端的腳本,因此一般是不能夠設(shè)置Session的,因?yàn)镾ession是運(yùn)行在服務(wù)器端的。

而cookie是運(yùn)行在客戶端的,所以可以用JS來設(shè)置cookie.

假設(shè)有這樣一種情況,在某個用例流程中,由A頁面跳至B頁面,若在A頁面中采用JS用變量temp保存了某一變量的值,在B頁面的時候,同樣需要使用JS來引用temp的變量值,對于JS中的全局變量或者靜態(tài)變量的生命周期是有限的,當(dāng)發(fā)生頁面跳轉(zhuǎn)或者頁面關(guān)閉的時候,這些變量的值會重新載入,即沒有達(dá)到保存的效果。解決這個問題的最好的方案是采用cookie來保存該變量的值,那么如何來設(shè)置和讀取cookie呢?
首先需要稍微了解一下cookie的結(jié)構(gòu),簡單地說:cookie是以鍵值對的形式保存的,即key=value的格式。各個cookie之間一般是以“;”分隔。

JS設(shè)置cookie:

假設(shè)在A頁面中要保存變量username的值(“jack”)到cookie中,key值為name,則相應(yīng)的JS代碼為:
document.cookie="name="+username; 

JS讀取cookie:
假設(shè)cookie中存儲的內(nèi)容為:name=jack;password=123

則在B頁面中獲取變量username的值的JS代碼如下:

var username=document.cookie.split(";")[0].split("=")[1]; //JS操作cookies方法!//寫cookiesfunction setCookie(name,value) {   var Days = 30;   var exp = new Date();   exp.setTime(exp.getTime() + Days*24*60*60*1000);   document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); }//讀取cookies function getCookie(name) {   var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");  if(arr=document.cookie.match(reg))    return unescape(arr[2]);   else     return null; }//刪除cookies function delCookie(name) {   var exp = new Date();   exp.setTime(exp.getTime() - 1);   var cval=getCookie(name);   if(cval!=null)     document.cookie= name + "="+cval+";expires="+exp.toGMTString(); } //使用示例 setCookie("name","hayden"); alert(getCookie("name"));//如果需要設(shè)定自定義過期時間 //那么把上面的setCookie 函數(shù)換成下面兩個函數(shù)就ok;//程序代碼 function setCookie(name,value,time){   var strsec = getsec(time);   var exp = new Date();   exp.setTime(exp.getTime() + strsec*1);   document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } function getsec(str){   alert(str);   var str1=str.substring(1,str.length)*1;   var str2=str.substring(0,1);   if (str2=="s")  {     return str1*1000;   }  else if (str2=="h")  {     return str1*60*60*1000;   }  else if (str2=="d")  {     return str1*24*60*60*1000;   } } 
//這是有設(shè)定過期時間的使用示例: //s20是代表20秒 //h是指小時,如12小時則是:h12 //d是天數(shù),30天則:d30setCookie(“name”,”hayden”,”s20”);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀喇沁旗| 德令哈市| 申扎县| 朝阳市| 景谷| 于都县| 集安市| 太康县| 沛县| 荔波县| 麻江县| 乌兰浩特市| 江阴市| 南宁市| 资中县| 临澧县| 永登县| 黄冈市| 南京市| 社会| 普宁市| 柘城县| 鲁山县| 华蓥市| 临漳县| 格尔木市| 太湖县| 湘阴县| 汝阳县| 什邡市| 英吉沙县| 平定县| 东丽区| 晋州市| 岳阳县| 绥德县| 抚顺市| 昭苏县| 衡阳县| 亳州市| 华容县|