中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js實現操作cookie的常見方法有哪些

發布時間:2021-04-19 09:46:18 來源:億速云 閱讀:234 作者:小新 欄目:web開發

小編給大家分享一下js實現操作cookie的常見方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體如下:

js操作cookie,可以通過開源的插件實現,方便快捷,兼容性好,同樣也可以自己寫;
此文主要介紹兩個常用的插件:
Js.cookie.jsjQuery.cookie.js

0、Js.cookie.js

js.cookie.js : 一個簡單,輕量級的JavaScript API,用于處理cookie;

下載地址:https://github.com/js-cookie/js-cookie/releases

優點:

  • 適用于所有瀏覽器;

  • 接受任何字符;

  • 沒有依賴;

  • 支持ES模塊;

  • Unobtrusive JSON support;

  • Enable custom encoding/decoding;

0.1 基本用法

#創建Cookie:

創建一個cookie,整個站點可用;

Cookies.set('name', 'value');

創建一個cookie,有效期為4天,整個站點可用;

Cookies.set('name', 'value', { expires: 4 });

注意:
expires的單位默認為“天”,那如何設置有效期小于1天呢?
解決方案如下:

//設置cookie有效期為15分鐘;
var inFifteenMinutes = new Date(new Date().getTime() + 15 * 60 * 1000);
Cookies.set('foo', 'bar', {
  expires: inFifteenMinutes
});

創建一個cookie,有效期為4天,且只在當前頁面所在的路徑有效;

Cookies.set('name', 'value', { expires: 4, path: '' })

舉例解釋一下,
在 http://127.0.0.1/path2/test.html頁面中設置cookie,且cookie的path設為"",那么在 http://127.0.0.1/test.html 這個頁面中是獲取不到那個cookie的,而在 http://127.0.0.1/path2/path3/test.html 這個頁面中是可以獲取到那個cookie的;

下面的兩種寫法,效果是一樣的,整個站點可用;

Cookies.set('name', 'value', { expires: 4 });
Cookies.set('name', 'value', { expires: 4, path: '/' });
#讀取Cookie:

讀取某個cookie:

Cookies.get('name') // => 'value'
Cookies.get('nothing') // => undefined

讀取所有可見cookie:返回的是個json對象;

Cookies.get() // => { name: 'value' , name1: 'value1' }
#刪除Cookie:

刪除某個cookie:

Cookies.remove('name')

刪除當前頁面所在路徑下某個有效的cookie:

Cookies.set('name', 'value', { path: '' })
Cookies.remove('name') // fail!
Cookies.remove('name', { path: '' }) // removed!

注意:在路徑path2下的頁面中設置了個cookie,路徑設為path2/path3

Cookies.set('name', 'value', { path: 'path2/path3' });

但在路徑path2/path3中的頁面中是無法刪除這個cookie的,只能到路徑path2下的頁面中去刪除:

Cookies.remove('name', { path: 'path2/path3' });

0.2 JSON支持

當穿件cookie時,可以將Array或Object作為值;

Cookies.set('name', { foo: 'bar' });

讀取cookie值:

Cookies.get('name') // => '{"foo":"bar"}'
Cookies.get() // => { name: '{"foo":"bar"}' }
Cookies.getJSON('name') // => { foo: 'bar' }
Cookies.getJSON() // => { name: { foo: 'bar' } }

1、jQuery.cookie.js

Jquery.cookie.js - A simple, lightweight jQuery plugin for reading, writing and deleting cookies;
Jquery.cookie.js - 一個簡單,輕量的jquery插件,用于cookie的讀取、寫入和刪除操作;

下載地址:http://plugins.jquery.com/cookie/
Github地址:https://github.com/carhartl/jquery-cookie

注意:使用之前要引入jquery.js;

1.1 基本操作

#創建cookie:

創建一個cookie,當前頁面路徑有效;

$.cookie('cookieName', 'cookieValue');

此處有,舉例解釋一下,
在 http://127.0.0.1/path2/test.html頁面中這樣設置cookie,$.cookie('cookieName', 'cookieValue'),那么在 http://127.0.0.1/test.html 這個頁面中是獲取不到那個cookie的,而在 http://127.0.0.1/path2/path3/test.html 這個頁面中是可以獲取到那個cookie的;

創建一個cookie,全站點有效;

$.cookie('name', 'value', { path: '/' });

創建一個cookie,有效期為4天;

$.cookie('cookieName', 'cookieValue', { expires: 4 });

注意:
expires的單位默認為“天”,那如何設置有效期小于1天呢?
解決方案如下:

//設置cookie有效期為15分鐘;
var inFifteenMinutes = new Date(new Date().getTime() + 15 * 60 * 1000);
$.cookie('cookieName', 'cookieValue', { expires: inFifteenMinutes });

創建一個cookie,并設置cookie的有效路徑:

$.cookie('name', 'value', { expires: 4, path: '/website1' });

該cookie只在website1站點下有效;

#讀取cookie:

讀取某個cookie:

$.cookie('name'); // => "value"
$.cookie('nothing'); // => undefined

讀取所有有效的cookie:(json格式)

$.cookie(); // => { "name": "value","name1":"value1" }
#刪除cookie:
// 成功刪除返回true,失敗返回false;
$.removeCookie('name'); // => true
$.removeCookie('nothing'); // => false

// 刪除時,必須使用創建時設置的屬性值(path,domain 等)
$.cookie('name', 'value', { path: '/' });
// 失敗
$.removeCookie('name'); // => false
// 成功
$.removeCookie('name', { path: '/' }); // => true

1.2 全局配置

#raw

cookie是否編碼;(using encodeURIComponent/decodeURIComponent)

$.cookie.raw = true;
#json

是否以json格式進行存儲和讀取;(Assumes JSON.stringify and JSON.parse)

$.cookie.json = true;

以上是“js實現操作cookie的常見方法有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

于都县| 唐河县| 资中县| 长沙市| 安平县| 沁水县| 外汇| 重庆市| 上杭县| 无锡市| 灯塔市| 海淀区| 那坡县| 定襄县| 华坪县| 海伦市| 文昌市| 新竹县| 谷城县| 二连浩特市| 峨边| 宜兴市| 高淳县| 玉林市| 庄浪县| 香港| 德清县| 莱州市| 应城市| 泰顺县| 多伦县| 航空| 皋兰县| 天津市| 措美县| 灌阳县| 汝州市| 齐齐哈尔市| 宁陵县| 二连浩特市| 淮安市|