jquery對cookie進行讀取、寫入和刪除
阿新 • • 發佈:2018-11-10
使用前注意:
cookie雖然是儲存在本地,但是是針對伺服器的。如果是file:///C:/Users/BYF/Desktop/2.html這種靜態網址是無法使用cookie的,只有部署在伺服器上的頁面才可以使用cookie,類似於http://localhost:8080/test/2.html 這種網址才可以訪問
使用前首先需要下載jquery.cookie.js這個檔案,下載地址:http://plugins.jquery.com/cookie/
示例程式碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>demo</title> <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script> <script src="jquery.cookie.js"></script> <script> $(function() { if($.cookie("o") == null) { varo = { name: "張三", age: 24 }; varstr = JSON.stringify(varo); //對序列化成字串然後存入cookie $.cookie("o", varstr, { expires:7 //設定時間,如果此處留空,則瀏覽器關閉此cookie就失效。 }); alert("cookie為空"); } else{ varstr1 = $.cookie("o"); varo1 = JSON.parse(varstr1); //字元反序列化成物件 alert(varo1.name+","+varo1.age); //輸反序列化出來的物件的姓名值 } }) </script> </head> <body> </body> </html>
說明文件:
1.新新增一個會話 cookie:
$.cookie('the_cookie', 'the_value');
注:當沒有指明 cookie有效時間時,所建立的cookie有效期預設到使用者關閉瀏覽器為止,所以被稱為
“會話cookie(session cookie)”。
2.建立一個cookie並設定有效時間為 7天:
$.cookie('the_cookie', 'the_value', { expires: 7 });
注:當指明瞭cookie有效時間時,所建立的cookie被稱為“持久 cookie (persistent cookie)”。
3.建立一個cookie並設定 cookie的有效路徑:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
注:在預設情況下,只有設定 cookie的網頁才能讀取該 cookie。如果想讓一個頁面讀取另一個頁面設 置的cookie,必須設定cookie的路徑。cookie的路徑用於設定能夠讀取 cookie的頂級目錄。將這 個路徑設定為網站的根目錄,可以讓所有網頁都能互相讀取 cookie 。
4.讀取cookie:
$.cookie('the_cookie'); // cookie存在 => 'the_value'
$.cookie('not_existing'); // cookie不存在 => null
5.刪除cookie,通過傳遞null作為cookie的值即可:
$.cookie('the_cookie', null);
----------相關引數的解釋---------------
1).expires: 365
定義cookie的有效時間,值可以是一個數字(從建立cookie時算起,以天為單位)或一個Date 對
象。如果省略,那麼建立的cookie是會話cookie,將在使用者退出瀏覽器時被刪除。
2).path: '/'
預設情況:只有設定cookie的網頁才能讀取該cookie。
定義cookie的有效路徑。預設情況下, 該引數的值為建立 cookie 的網頁所在路徑(標準瀏覽器的行為) 。
如果你想在整個網站中訪問這個cookie需要這樣設定有效路徑:path: '/'。如果你想刪除一個定義
了有效路徑的 cookie,你需要在呼叫函式時包含這個路徑:$.cookie('the_cookie', null,
{ path: '/' });。 domain: 'example.com'
預設值:建立 cookie的網頁所擁有的域名。
3).secure: true
預設值:false。如果為true,cookie的傳輸需要使用安全協議(HTTPS)。
4).raw: true
預設值:false。
預設情況下,讀取和寫入 cookie 的時候自動進行編碼和解碼(使用encodeURIComponent 編碼,
decodeURIComponent 解碼)。要關閉這個功能設定 raw: true 即可。