本文详细介绍jQuery.cookie.js插件的使用方法,涵盖会话Cookie与持久Cookie的创建、读取及删除操作。重点解析expires、path、domain及secure等可选参数的具体配置,并结合完整代码示例演示如何在登录功能中实现记住用户名与密码的功能。
jQuery Cookie插件概述与引入
Cookies
定义:这是一种允许网站服务器将少量数据存储在客户端硬盘或内存中,并从客户端读取数据的技术;
下载与引入:jquery.cookie.js依赖于jquery;因此需要先引入jquery,随后再引入jquery.cookie.js;
下载地址:http://plugins.jquery.com/cookie/
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
Cookie操作基础:会话与持久化
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)”。注意单位是天;
Cookie路径配置与读写删除
3.创建一个cookie并设置cookie的有效路径
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
在默认情况下,只有设置该cookie的网页才能读取它。若希望一个页面读取由另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于定义能够读取该cookie的顶级目录。将此路径设置为网站的根目录,可使所有网页互相读取cookie(通常不建议如此设置,以防出现冲突)。
4.读取cookie
$.cookie('the_cookie');
5.删除cookie
.cookie('the_cookie', null); //通过传递null作为cookie的值即可
可选参数详解与完整示例
6.可选参数
$.cookie('the_cookie','the_value',{
expires:7,
path:'/',
domain:'jquery.com',
secure:true
})
expires:(Number|Date)有效期;设置为整数时,单位为天;也可设置一个日期对象作为Cookie的过期日期; path:(String)创建该Cookie的页面路径; domain:(String)创建该Cookie的页面域名; secure:(Boolean)如果设为true,则此Cookie的传输需要求安全协议,例如HTTPS;
代码示例:
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.8.3.min.js"></script>
<script src="jquery.cookie.js"></script>
<script src="jquery.base64.js"></script>
<script language="javascript" type="text/javascript">
function setCookie(){ //设置cookie
var loginCode = $("#login_code").val(); //获取用户名信息
var pwd = $("#login_password").val(); //获取登陆密码信息
var checked = $("[name='checkbox']:checked");//获取“是否记住密码”复选框
if(checked){ //判断是否选中了“记住密码”复选框
$.cookie("login_code",loginCode);//调用jquery.cookie.js中的方法设置cookie中的用户名
$.cookie("pwd",$.base64.encode(pwd));//调用jquery.cookie.js中的方法设置cookie中的登陆密码,并使用base64(jquery.base64.js)进行加密
}else{
$.cookie("pwd", null);
}
}
function getCookie(){ //获取cookie
var loginCode = $.cookie("login_code"); //获取cookie中的用户名
var pwd = $.cookie("pwd"); //获取cookie中的登陆密码
if(pwd){//密码存在的话把“记住用户名和密码”复选框勾选住
$("[name='checkbox']").attr("checked","true");
}
if(loginCode){//用户名存在的话把用户名填充到用户名文本框
$("#login_code").val(loginCode);
}
if(pwd){//密码存在的话把密码填充到密码文本框
$("#login_password").val($.base64.decode(pwd));
}
}
function login(){
var userName = $('#login_code').value;
if(userName == ''){
alert("请输入用户名。");
return;
}
var userPass = $('#login_password').value;
if(userPass == ''){
alert("请输入密码。");
return;
}
//判断是否选中复选框,如果选中,添加cookie
if($("[name='checkbox']").attr("checked","true")){
//添加cookie
setCookie();
alert("记住密码登录。");
window.location = "http://www.baidu.com";
}else{
alert("不记密码登录。");
window.location = "http://www.baidu.com";
}
}
</script>
</head>
<body onload="getCookie();">
<center>
<table width="400px" height="180px" cellpadding="0" cellspacing="0" border="1" style="margin-top:100px;">
<tr>
<td align="center" colspan="2">欢迎登录</td>
</tr>
<tr>
<td align="right">
<label>用户名:</label>
</td>
<td align="left">
<input type="text" id="login_code" name="login_code" style="width:160px; margin-left:10px;" />
</td>
</tr>
<tr>
<td align="right">
<label>密 码:</label>
</td>
<td align="left">
<input type="password" id="login_password" name="login_password" style="width:160px; margin-left:10px;" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<span style="font-size:12px; color:blue; vertical-align:middle;">是否记住密码</span>
<input type="checkbox" style="vertical-align:middle;" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" id="subLogin" name="subLogin" value="登 录" onclick="login();"/>
</td>
</tr>
</table>
</center>
</body>
</html>
总结
以上所述是小编给大家介绍的通过jquery.cookie.js实现记住用户名、密码登录功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!