- 1、如何用js來操作cookie呢?
- 2、js.cookie.js怎麼用
- 3、JS 操作 cookies 的方法
- 4、js操作cookie
js操作COOKIE,直接給document加上cookie就可以了,但是一般如果單個的加會很麻煩所以一般會直接寫好一個函數,可以直接操作cookie,這樣就很方便了
setCookie這個是寫入cookie,第一個是名稱,第二個是cookie值,第三個是過期時間
getCookie這個是查找cookie;
removeCookie這是你需要刪除的cookie;
function setCookie(name, value, iDay)
{
var oDate=new Date();
oDate.setDate(oDate.getDate()+iDay);
document.cookie=name+’=’+encodeURIComponent(value)+’;expires=’+oDate;
}
function getCookie(name)
{
var arr=document.cookie.split(‘; ‘);
var i=0;
for(i=0;iarr.length;i++)
{
//arr2-[‘username’, ‘abc’]
var arr2=arr[i].split(‘=’);
if(arr2[0]==name)
{
var getC = decodeURIComponent(arr2[1]);
return getC;
}
}
return ”;
}
function removeCookie(name)
{
setCookie(name, ‘1’, -1);
}
cookie可以保存信息,而且能再瀏覽器跟伺服器之間傳信息。比sessionStorage好的就是你關了網頁cookie的信息還在,不過可以通過web刪除cookie存的東西。而且localStorage也只能在本地存信息。
用的話,,就直接setCookie(“obj”,內容);跟getCookie(“obj”)
在 JS(JavaScript) 操作cookies比較複雜,在 ASP 裡面我們只需要知道 cookie 的名稱、cookie 的值就行了,而 JS 裡面,我們面對的是 cookie 的字元串,你自己編寫這個字元串寫入客戶端,然後自己解析這個字元串。
一、從寫 cookie 說起。
var the_date = new Date(“December 31, 2020”);
var expiresDate = the_date.toGMTString();
document.cookie = “userDefineCSS=” + escape(title) + “; expires=” + expiresDate;
第一句是日期對象;
第二句將日期格式轉換成 GMT 格式;編者者: GMT 即格林威治標準時間,現在也稱 UTC 即全球標準時間。
第三句是將 cookie 內容寫入客戶端。
其中 expires 是系統使用的,表示 cookie 的失效日期(也可以省略),expires 不可讀。
escape 是對 cookie 值進行編碼,這是為了處理中文、空格等而設立的。
二、取 cookie 是比較簡單的。
function GetCSS()
{
var cookieStr = document.cookie; //取 cookie 字元串,由於 expires 不可讀,所以 expires 將不會出現在 cookieStr 中。
if (cookieStr == “”)
{
return “main1”; //沒有取到 cookie 字元串,返回默認值
}
var cookieValue = cookieStr.split(“; “); //將各個 cookie 分隔開,並存為數組,多個 cookie 之間用分號加空隔隔開,不過前面我們只使用了一個 cookie,它的值與 expires 之間也是用分號加空格隔開的
var varName = “userDefineCSS”;
var startPos = -1;
var endPos = -1;
for (var i=0; icookieValue.length; i++)
{
startPos = cookieValue[i].indexOf(varName);
if (startPos != 0)
{
continue; //當前 cookie 不是名稱為 varName 的 cookie,判斷下一個 cookie
}
startPos += varName.length + 1; //當前 cookie 就是名稱為 varName 的 cookie,由於有等號,所以 +1
endPos = cookieValue[i].length;
var css = unescape(cookieValue[i].substring(startPos, endPos));
return css;
}
return “main1”;
}
//網頁引用
script language=”javascript”src=”./js/cookie.js”/script
//取cookie值
var hrckdeptcode = Cookie(“hrckdeptcode”);
var hrckdeptname = Cookie(“hrckdeptname”);
//保存cookie值
setCookie(“hrckdeptcode”, deptcode, expdate, “/”, null, false);
setCookie(“hrckdeptname”, deptname, expdate, “/”, null, false);
把下面的腳本放到 cookie.js 文件里
var expdate= new Date();
function getCookieVal (offset) {
var endstr = document.cookie.indexOf (“;”, offset);
if (endstr == -1) endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function Cookie (name) {
var arg = name + “=”;
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) return getCookieVal (j);
i = document.cookie.indexOf(” “, i) + 1;
if (i == 0) break;
}
return null;
}
function setCookie (name,value,expires,path,domain,secure) {
expdate.setTime(expdate.getTime() + (24*60*60*1000*365));
document.cookie = name + “=” + escape (value) +
((expires) ? “; expires=” + expires.toGMTString() : “”) +
((path) ? “; path=” + path : “”) +
((domain) ? “; domain=” + domain : “”) +
((secure) ? “; secure” : “”);
}
function deleteCookie(name) {
expdate = new Date();
expdate.setTime(expdate.getTime() – (86400 * 1000 * 1));
setCookie(name, “”, expdate);
}
原創文章,作者:FVS47,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126681.html