cookie.js的使用(Js cookie)

  • 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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FVS47的頭像FVS47
上一篇 2024-10-03 23:09
下一篇 2024-10-03 23:09

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • Python載入Cookie錯誤解決方法用法介紹

    本文將從多個方面詳細闡述Python載入Cookie錯誤的解決方法,希望能對讀者有所幫助。 一、Cookie錯誤常見原因 1、Cookie過期:當Cookie過期時,載入Cooki…

    編程 2025-04-29
  • Cookie是後端生成的嗎?

    是的,Cookie通常是由後端生成並發送給客戶端的。下面從多個方面詳細闡述這個問題。 一、什麼是Cookie? 我們先來簡單地了解一下什麼是Cookie。Cookie是一種保存在客…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 如何使用JS調用Python腳本

    本文將詳細介紹通過JS調用Python腳本的方法,包括使用Node.js、Python shell、child_process等三種方法,以及在Web應用中的應用。 一、使用Nod…

    編程 2025-04-27
  • 如何反混淆美團slider.js

    本文將從多個方面詳細闡述如何反混淆美團slider.js。在開始之前,需要明確的是,混淆是一種保護JavaScript代碼的方法,其目的是使代碼難以理解和修改。因此,在進行反混淆操…

    編程 2025-04-27
  • Python要學JS嗎?

    Python和JavaScript都是非常受歡迎的編程語言。然而,你可能會問,既然我已經學了Python,是不是也需要學一下JS呢?在本文中,我們將圍繞這個問題進行討論,並從多個角…

    編程 2025-04-27

發表回復

登錄後才能評論