? ? ? ?需求說明:需要在頁面之間進(jìn)行傳值,但又無法直接通過在URL中拼接參數(shù)的方法獲取。此時可以利用前端瀏覽器的一個屬性cookie,將所需信息存放到cookie中,而后再獲取利用,進(jìn)行下一系列的操作。
? ? ? ?設(shè)置、獲取cookie的封裝函數(shù)方法如下:
//將全局變量存入cookie,參數(shù)分別為key名稱,key對應(yīng)的value值,以及cookie的有效期
//有效期的單位是"天"
function setCookie(c_name,value,expiredays)
{
var exdate = new Date();
exdate.setDate(exdate.getDate()+expiredays);
//對value值進(jìn)行編碼
document.cookie = c_name + "=" + escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//從cookie中獲取值
function getCookie(c_name)
{
if(document.cookie.length>0){
c_start = document.cookie.indexOf(c_name + "=");
if(c_start!=-1){
c_start = c_start + c_name.length+1;
c_end = document.cookie.indexOf(";",c_start);
if(c_end==-1)
c_end = document.cookie.length;
//解碼
return unescape(document.cookie.substring(c_start,c_end));
}
}
return "";
}
/*使用示例*/
//設(shè)置cookie
setCookie("username","wlm","365");
//獲取cookie
var username_val = getCookie("username");
? ? ? ?注:上述設(shè)置、獲取方法只能是存儲和獲取字符串,而不能是對象。即每次存儲cookie,對應(yīng)key的value值必須是單個的字符串。
以上。