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: '/' }); // => true
1.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-cookie
https://github.com/js-cookie/js-cookie/wiki/Frequently-Asked-Questions#why-are-my-cookies-being-deleted
js操作cookie(创建、读取、删除)方法总结的更多相关文章
- js cookie创建读取删除函数封装
js cookie创建读取删除函数封装 一.总结 都是为了方便操作,这样弄了很方便 1.创建cookie的函数封装的作用:方便设置过期时间expire,方便设置键和值 2.查询cookie的数据封装的 ...
- jQuery 操作Cookie 存储 读取 删除等
<script type="text/javascript" src="/UI.Web.CRM.Main/js/jquery-2.1.1.min.js"& ...
- JS设置cookie、读取cookie、删除cookie(转)
JS设置cookie.读取cookie.删除cookie 转载 2015-04-17 投稿:hebedich 我要评论 Js操作Cookie总结(设置,读取,删除),工作中经常会用到的哦! ...
- JS设置cookie、读取cookie、删除cookie
JS设置cookie.读取cookie.删除cookie JS设置cookie,注意一定要path=/ ,根目录,不然其他目录可能查询不到..默认是本目录. document.cookie ...
- JS操作cookie以及本地存储(sessionStorage 和 localStorage )
JS操作cookie cookie的操作用两种方式 1.substring //创建cookie function setCookie(name,value,expires,path,domain,s ...
- jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。
jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下. 复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...
- js操作cookie,实现登录密码保存 [转]
转自:http://blog.csdn.net/zyujie/article/details/8727828 ( 谢谢博主了) js操作cookie,实现登录密码保存.cookie的存放方式是以键值对 ...
- js操作cookie(转载:经测试可用)
/***js操作cookie,star***/ function addCookie(objName,objValue,objsec){//添加cookie var str = objName + ...
随机推荐
- 全屏滚动插件pagePiling.js
全屏滚动效果是最近非常流行的网页设计形式,带给用户良好的视觉和交互体验.pagePiling.js 这款 jQuery 插件可以帮助前端开发人员轻松实现这种效果.支持所有的主流浏览器,包括IE8+,支 ...
- 【原创实践】U大师启动安装windows XP
1:使用U大师3.0版制作启动U盘,拷贝windows xp或者win7的原版安装iso(zh-hans_windows_xp_professional_with_service_pack_3_x86 ...
- 用原生JS实现AJAX和JSONP
前端开发在需要与后端进行数据交互时,为了方便快捷,都会选择JQuery中封装的AJAX方法,但是有些时候,我们只需要JQuery的AJAX请求方法,而其他的功能用到的很少,这显然是没必要的.其实,原生 ...
- python3 how to creat alphabet
Python: How To Generate a List Of Letters In The Alphabet Method 1# First we need to figure out the ...
- 实现API管理系统的几个重要关键词
管理API的需求源自于Web API开展业务.从2006年开始,然后逐渐成熟,并在2016年之前进入市场.无论是通过代理现有API的管理网关.本身作为用于部署API本身的网关的一部分,还是作为连接层在 ...
- Juniper初始化之配置管理接口
一.实验环境 Juniper vSRX 12.1 二.配置管理口步骤 2.0 console进入命令行窗口,初始化用户root,密码为空 2.1 配置接口IP地址 set interfaces ge- ...
- Java面向对象特性总结
1.面对对象与面对过程的区别 什么是封装?我看到过这样一个例子: 我要用洗衣机洗衣服,只需要按一下开关和洗涤模式就可以了.有必要了解洗衣机内 部的结构吗?有必要碰电动机吗?有必要了解如何通电的吗? 如 ...
- 第 10 篇:小细节 Markdown 文章自动生成目录,提升阅读体验
目录 在文中插入目录 在页面的任何地方插入目录 处理空目录 美化标题的锚点 URL 作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 上 ...
- 2019Hexo博客Next主题深度美化 打造一个炫酷博客(2)-奥怪的小栈
219/8/1 更新 本文转载于:奥怪的小栈 这篇文章告诉你在搭建好博客后,面对网上千篇一律的美化教程怎么才能添加自己独特点,使人眼前一亮. 本站基于HEXO+Github搭建. 所以你需要准备好HE ...
- 重读《学习JavaScript数据结构与算法-第三版》- 第6章 链表(一)
定场诗 伤情最是晚凉天,憔悴厮人不堪言: 邀酒摧肠三杯醉.寻香惊梦五更寒. 钗头凤斜卿有泪,荼蘼花了我无缘: 小楼寂寞新雨月.也难如钩也难圆. 前言 本章为重读<学习JavaScript数据结构 ...