js讀取cookie教程,js讀取和寫入cookie

本文目錄一覽:

怎麼在js中讀取cookies

讀取屬於當前文檔的所有cookies

var allcookies = document.cookie;

定義一個函數,用來讀取特定的cookie值。

function getCookie(cookie_name)

{

var allcookies = document.cookie;

var cookie_pos = allcookies.indexOf(cookie_name); //索引的長度

// 如果找到了索引,就代表cookie存在,

// 反之,就說明不存在。

if (cookie_pos != -1)

{

// 把cookie_pos放在值的開始,只要給值加1即可。

cookie_pos += cookie_name.length + 1; //這裡容易出問題,所以請大家參考的時候自己好好研究一下

var cookie_end = allcookies.indexOf(“;”, cookie_pos);

if (cookie_end == -1)

{

cookie_end = allcookies.length;

}

var value = unescape(allcookies.substring(cookie_pos, cookie_end)); //這裡就可以得到你想要的cookie的值了。。。

}

return value;

}

// 調用函數

var cookie_val = getCookie(“username”);

js中如何獲取Cookies的值

首先JS設置cookie:

假設在A頁面中要保存變數username的值(“jack”)到cookie中,key值為name,則相應的JS代碼為:

document.cookie=”name=”+username;

JS讀取cookie:

var username=document.cookie.split(“;”)[0].split(“=”)[1];

function 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包含信息的任意性來篩選並經常性維護這些信息,以判斷在HTTP傳輸中的狀態。Cookies最典型的應用是判定註冊用戶是否已經登錄網站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續,這些都是Cookies的功用。

另一個重要應用場合是「購物車」之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最後付款時提取信息。

JS 操作 cookies 的方法

在 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”;

}

原創文章,作者:QLRH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147487.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QLRH的頭像QLRH
上一篇 2024-11-01 14:10
下一篇 2024-11-01 14:10

相關推薦

  • JS Proxy(array)用法介紹

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

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Python3.6.5下載安裝教程

    Python是一種面向對象、解釋型計算機程序語言。它是一門動態語言,因為它不會對程序員提前聲明變數類型,而是在變數第一次賦值時自動識別該變數的類型。 Python3.6.5是Pyt…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Qt雷達探測教程

    本文主要介紹如何使用Qt開發雷達探測程序,並展示一個簡單的雷達探測示例。 一、環境準備 在開始本教程之前,需要確保你的開發環境已經安裝Qt和Qt Creator。如果沒有安裝,可以…

    編程 2025-04-29
  • 猿編程python免費全套教程400集

    想要學習Python編程嗎?猿編程python免費全套教程400集是一個不錯的選擇!下面我們來詳細了解一下這個教程。 一、課程內容 猿編程python免費全套教程400集包含了從P…

    編程 2025-04-29
  • Python煙花教程

    Python煙花代碼在近年來越來越受到人們的歡迎,因為它可以讓我們在終端里玩煙花,不僅具有視覺美感,還可以通過代碼實現動畫和音效。本教程將詳細介紹Python煙花代碼的實現原理和模…

    編程 2025-04-29
  • 使用Snare服務收集日誌:完整教程

    本教程將介紹如何使用Snare服務收集Windows伺服器上的日誌,並將其發送到遠程伺服器進行集中管理。 一、安裝和配置Snare 1、下載Snare安裝程序並安裝。 https:…

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

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

    編程 2025-04-29

發表回復

登錄後才能評論