电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

js實現操作cookie的常見方法總結【創建、讀取、刪除】

瀏覽:108日期:2024-05-18 16:43:28

本文實例講述了js實現操作cookie的常見方法。分享給大家供大家參考,具體如下:

js操作cookie,可以通過開源的插件實現,方便快捷,兼容性好,同樣也可以自己寫;此文主要介紹兩個常用的插件:Js.cookie.js 和 jQuery.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/path1/test.html頁面中設置cookie,且cookie的path設為'',那么在 http://127.0.0.1/test.html 這個頁面中是獲取不到那個cookie的,而在 http://127.0.0.1/path1/path2/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!

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

Cookies.set(’name’, ’value’, { path: ’path1/path2’ });

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

Cookies.remove(’name’, { path: ’path1/path2’ });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/path1/test.html頁面中這樣設置cookie,$.cookie(’cookieName’, ’cookieValue’),那么在 http://127.0.0.1/test.html 這個頁面中是獲取不到那個cookie的,而在 http://127.0.0.1/path1/path2/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: ’/’ }); // => true1.2 全局配置#raw

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

$.cookie.raw = true;#json

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

$.cookie.json = true;2、參考

https://github.com/js-cookie/js-cookiehttps://github.com/js-cookie/js-cookie/wiki/Frequently-Asked-Questions#why-are-my-cookies-being-deleted

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結》

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

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 无锡网站建设_企业网站定制-网站制作公司-阿凡达网络 | 转子泵_凸轮泵_凸轮转子泵厂家-青岛罗德通用机械设备有限公司 | 重庆中专|职高|技校招生-重庆中专招生网 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 菏泽商标注册_菏泽版权登记_商标申请代理_菏泽商标注册去哪里 | 氮化镓芯片-碳化硅二极管 - 华燊泰半导体 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | IP检测-检测您的IP质量 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 周口风机|周风风机|河南省周口通用风机厂 | 中国玩具展_玩具展|幼教用品展|幼教展|幼教装备展| 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 济南菜鸟驿站广告|青岛快递车车体|社区媒体-抖音|墙体广告-山东揽胜广告传媒有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 阁楼货架_阁楼平台_仓库仓储设备_重型货架_广州金铁牛货架厂 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 电动车头盔厂家_赠品头盔_安全帽批发_山东摩托车头盔—临沂承福头盔 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 厦门ISO认证|厦门ISO9001认证|厦门ISO14001认证|厦门ISO45001认证-艾索咨询专注ISO认证行业 | 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 三板富 | 专注于新三板的第一垂直服务平台 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 比士亚-专业恒温恒湿酒窖,酒柜,雪茄柜的设计定制 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | ★塑料拖链__工程拖链__电缆拖链__钢制拖链 - 【上海闵彬】 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 |