Jquery操作cookie记住用户名


Posted in Javascript onMarch 29, 2016

一、jquery.cookie.js介绍

jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取、写入、删除 cookie。

jquery.cookie.js可以从Github上面获得源码 https://github.com/carhartl/jquery-cookie

二、jquery.cookie.js的基本用法介绍

jQuery操作cookie的插件,大概的使用方法如下:

1. 读取Cookie值

$.cookie('the_cookie'); //如果存在则返回cookieValue,否则返回null。

2. 设置cookie的值

(1) 默认设置。当没有指明cookie时间时,所创建的cookie有效期默认到用户浏览器关闭止,故被称为会话cookie。

$.cookie('the_cookie', ‘the_value');

(2) 设置有时间的cookie。 当指明时间时,故称为持久cookie,并且有效时间为天。

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

(3) 设置有路径的cookie 。如果不设置有效路径,在默认情况下,只能在cookie设置当前页面读取该cookie,cookie的路径用于设置能够读取cookie的顶级目录。

$.cookie(‘cookieName','cookieValue', {expires:7, path:'/'});

(4)设置特定网站的cookie 。

$.cookie(‘cookieName','cookieValue',{expires:7, path:'/' , domain: ‘souvc.com' , secure: false , raw:false});

参数解释:

1).expires: 365

定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。

//注:在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突) 。

expires: (Number | Date) 有效期,可以设置一个整数作为有效期(单位:天),也可以设置一个日期对象作为Cookie的过期日期。如果指定日期为负数,那么此cookie将被删除;如果不设置或者设置为null,那么此cookie将被当作Session Cookie处理,并且在浏览器关闭后删除。

var COOKIE_NAME = 'username';
if( $.cookie(COOKIE_NAME) ){
$("#username").val( $.cookie(COOKIE_NAME) );
}
$("#check").click(function(){
if(this.checked){
$.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 });
//var date = new Date();
//date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000)); //三天后的这个时候过期
//$.cookie(COOKIE_NAME, $("#username").val(), { path: '/', expires: date });
}else{
$.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie
}
});

2).path: '/'

默认情况:只有设置cookie的网页才能读取该cookie。 定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。

如果你想删除一个定义了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null, { path: '/' });。 domain: 'example.com' 默认值:创建 cookie的网页所拥有的域名。

3). domain:创建cookie所在网页所拥有的域名;

4). secure:默认是false,如果为true,cookie的传输协议需为https;raw:默认为false,读取和写入时候自动进行编码和解码(使用encodeURIComponent编码,使用decodeURIComponent解码),关闭这个功能,请设置为true。

3. 删除cookie 。

$.cookie('the_cookie', null); //删除一个cookie

$.cookie(‘cookieName',null,{path:'/'}); //注:如果想删除一个带有效路径的cookie

三、使用方法

首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件。

<script type="text/javascript" src="js/jquery-1.6.2.min.js"></script> 
<script type="text/javascript" src="js/jquery.cookie.js"></script>

四、简要说明。

1. 页面效果

Jquery操作cookie记住用户名

2. jsp页面:

<input type="text" class="lr-input" placeholder="手机号码/用户名" style="width:255px" id="username" name="username" value=""/> <input type="password" class="lr-input" placeholder="请输入登录密码" style="width:255px" id="password" name="password" /> 
<div class="lr-formWrap fn-clear">
<p class="lr-remUser fn-left" id="remUserSelect"><i class="icon-check"></i>记住用户</p>
<a href="javascript:void(0)" id="login-submit" class="lr-submit">登录</a>

3. css样式:

.lr-remUser {
color: #9d9d9d;
cursor: pointer;
font-size: 14px;
line-height: 25px;
padding-left: 30px;
}

4. js实现

//按照状态读取是否显示昵称
if ($.cookie("rmbUser") == "true") {
$("#remUserSelect").addClass("active");//如果是选中,那么给上选中的标志
$("#username").val($.cookie("nickName"));//记录账号
} 
//验证记住帐号
function vailRememberNickName(){
if($("#remUserSelect").hasClass("active")){
var nickName = $("#username").val();
$.cookie("rmbUser", "true", { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie("nickName", nickName, { expires: 7 }); // 存储一个带7天期限的 cookie
}else {
$.cookie("rmbUser", "false", { expires: -1 });
$.cookie("nickName", '', { expires: -1 });
}
}

5. 然后在点击登录的时候进行调用这个方法。

//登录提交表单
$("#login-submit").on("click",function(){
var form = $("#loginForm");
if(!vailPhone())return;
if(!vailPwd())return;
vailRememberNickName();
form.submit();
});

6. 登录查看浏览器控制台效果如下:

Jquery操作cookie记住用户名

7. 退出登录的时候可以看到登录框的效果:

Jquery操作cookie记住用户名

以上内容是小编给大家介绍的Jquery操作cookie记住用户名的相关说明,希望对大家有所帮助!

Javascript 相关文章推荐
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
对frameset、frame、iframe的js操作示例代码
Aug 16 Javascript
JavaScript中的操作符==与===介绍
Dec 31 Javascript
在AngularJS中使用AJAX的方法
Jun 17 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
Dec 20 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
Apr 18 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
jQuery简单实现提交数据出现loading进度条的方法
Mar 29 #Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 #Javascript
AngularJS directive返回对象属性详解
Mar 28 #Javascript
Boostrap模态窗口的学习小结
Mar 28 #Javascript
理解javascript模块化
Mar 28 #Javascript
谈一谈jQuery核心架构设计
Mar 28 #Javascript
javascript函数自动执行常用方法汇总
Mar 28 #Javascript
You might like
Protoss兵种介绍
2020/03/14 星际争霸
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
php 删除一个数组中的某个值.兼容多维数组!
2012/02/18 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
nodejs基础知识
2017/02/03 NodeJs
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
2020/04/27 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
对python读取zip压缩文件里面的csv数据实例详解
2019/02/08 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
Html5嵌入钉钉的实现示例
2020/06/04 HTML / CSS
销售行业个人求职自荐信
2013/09/25 职场文书
机电一体化毕业生求职信
2013/11/02 职场文书
毕业生实习鉴定
2013/12/11 职场文书
高中班主任评语大全
2014/04/25 职场文书
销售团队激励口号
2014/06/06 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
电影圆明园观后感
2015/06/03 职场文书
Python中的嵌套循环详情
2022/03/23 Python