首頁  >  文章  >  web前端  >  javascript cookie用法(概念,設定,讀取及刪除)

javascript cookie用法(概念,設定,讀取及刪除)

高洛峰
高洛峰原創
2017-01-18 13:20:321256瀏覽

本文實例講述了javascript cookie用法。分享給大家參考,具體如下:

一、什麼是 cookie?

cookie 就是頁面用來保存訊息,例如自動登入、記住使用者名稱等等。

二、cookie 的特點

同網站中所有的頁面共享一套 cookie

cookie 有數量、大小限制

cookie 有過期時間

三、如何使用 cookie?

透過 document.cookie 來寫入 cookie

<!DOCTYPE HTML>
<html>
<head>
 <meta charset="UTF-8">
 <title>cookie基础</title>
</head>
<body>
</body>
</html>
<script type="text/javascript">
document.cookie = &#39;username=abc&#39;;
document.cookie = &#39;password=123&#39;;
document.cookie = &#39;email=abcdef@123.com&#39;;
</script>

開啟瀏覽器查看 cookie,可以發現新定義的 cookie 並不會將原來的覆寫。

如果沒有設定過期時間,那麼關閉瀏覽器就會清空 cookie。如何設定過期時間呢?答案是:expires。一般我們會結合 Date 物件來使用。

var d = new Date();
d.setTime(d.getTime() + 1 * 3600 * 1000);
document.cookie = &#39;username=abc; expires=&#39; + d.toGMTString();

我們可以透過火狐瀏覽器看到,username 的過期時間是當前時間的 1 小時後。

最後對獲取 cookie 的方法進行封裝:

function setCookie(name,value,hours){ 
 var d = new Date();
 d.setTime(d.getTime() + hours * 3600 * 1000);
 document.cookie = name + &#39;=&#39; + value + &#39;; expires=&#39; + d.toGMTString();
}

學會如何設定 cookie,那麼該如何讀取 cookie 呢?

首先我們看下 cookie 裡的內容是什麼類型?

document.cookie = &#39;username=abc&#39;;
document.cookie = &#39;password=123&#39;;
document.cookie = &#39;email=abcdef@123.com&#39;;
typeof document.cookie; //string
alert(document.cookie); //&#39;username=abc; password=123; email=abcdef@123.com&#39;

得到的是一串字串,要注意的是,每個 ; 後面都有空格。

那我們要如何取到具體的數值呢?附上程式碼:

function getCookie(name){ 
 var arr = document.cookie.split(&#39;; &#39;);
 for(var i = 0; i < arr.length; i++){
 var temp = arr[i].split(&#39;=&#39;);
 if(temp[0] == name){
  return temp[1];
 }
 }
 return &#39;&#39;;
}

除了設定、取得 cookie,我們還可以刪除 cookie。我們在網路上常常看到有清除用戶名這樣的功能,其實就是用到了清除 cookie。

清除 cookie 其實很簡單,只要讓過期時間為過去時間就可以了。

function removeCookie(name){
 var d = new Date();
 d.setTime(d.getTime() - 10000);
 document.cookie = name + &#39;=1; expires=&#39; + d.toGMTString();
}

最後我們將設定、取得、清除cookie 封裝成一個cookie.js

?

123456789101121314151617181920    function set .getTime( ) + hours * 3600 * 1000); document.cookie = name + '=' + value + '; expires=' + d.toGMTString();}function getCookie(name){  var arr = document.cookie.split(' ; '); for(var i = 0; i

希望本文所述對大家JavaScript程式設計有所幫助。

更多javascript cookie用法基礎教學(概念,設定,讀取及刪除)相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn