JS提供了方便的设置cookie的办法,但是不像PHP那般用一个$_COOKIE函数就可以直接获取,JS需要对cookie的键值对进行操作,以下是汇总的四中读取cookie的方法
//方法一
varacookie = document.cookie.split(``"; "``);
functiongetcookie(sname){
``for(``vari = 0; i < acookie.length; i++) {
``vararr = acookie[i].split(``"="``);
``if(sname == arr[0]) {
``if(arr.length > 1)
``returnunescape(arr[1]);
``else
``return""``;
``}
``}
``return""``;
}
//方法二
functiongetcookie(objname){
``vararrstr = document.cookie.split(``"; "``);
``for(``vari = 0; i < arrstr.length; i++){
``vartemp = arrstr[i].split(``"="``);
``if(temp[0] == objname) ``returnunescape(temp[1]);
``}
}
//方法三
有坑:WMSEMPID=01011540; EMPID=00012152;cookiename是EMPID取的是第一个cookie。
functiongetcookie(cookiename){
``varcookiestring = document.cookie;
``varstart = cookiestring.indexof(cookiename + ``'= '``);
``if(start == -1)
``returnnull``;
``start += cookiename.length + 1;
``varend = cookiestring.indexof(``"; "``, start);
``if(end == -1) ``returnunescape(cookiestring.substring(start));
``returnunescape(cookiestring.substring(start, end));
}
//方法四
functionreadcookie(name){
``varcookievalue = ``""``;
``varsearch = name + ``"="``;
``if(document.cookie.length > 0){
``offset = document.cookie.indexof(search);
``if(offset != -1){
``offset += search.length;
``end = document.cookie.indexof(``";"``, offset);
``if(end == -1) end = document.cookie.length;
``cookievalue = unescape(document.cookie.substring(offset, end))
``}
``}
``returncookievalue;
}