什么是 cookie?
cookie 就是页面用来保存信息,比如自动登录、记住用户名等等。
cookie 的特点
- 同个网站中所有的页面共享一套 cookie
- cookie 有数量、大小限制
- cookie 有过期时间jquery.cookie.js 是一款轻量级的 cookie 插件,可以读取,写入和删除 cookie。本文主要针对
jquery.cookie.js 的用法进行详细的介绍。
jquery.cookie.js 使用方法
Cookies
定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术;
用法:先引入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>
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)”。注意单位是:天;
3.创建一个cookie并设置 cookie的有效路径
$.cookie(‘the_cookie’, ‘the_value’, { expires: 7, path: ‘/’ });
在默认情况下,只有设置 cookie的网页才能读取该 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:(Booblean)如果设为true,那么此Cookie的传输会要求一个安全协议,例如:HTTPS;(选填)
使用方法:
设置 cookie:
$.cookie('the_cookie', 'the_value');
举例:a.html设置cookie
$.cookie("id",id)
**注:**如果 $.cookie
没有第三个参数,那么当浏览器关闭时,该 cookie 将会自动删除。
设置一个有效期为 7 天的 cookie:
$.cookie('the_cookie', 'the_value', {expires: 7});
注:$.cookie
第三个参数是一个对象,除了可以设置有效期(expires: 7
),还可以设置有效路径(path: '/'
)、有效域(domain: 'jquery.com'
)及安全性(secure: true
)。
读取 cookie:
$.cookie('the_cookie');
举例:b.html获取cookie
var id = $.cookie("id")
**注:**如果没有该 cookie,返回 null。
删除 cookie:
$.cookie('the_cookie', null);
我们只需要给需要删除的 cookie 设置为 null,就可以删除该 cookie。
js封装函数获取cookie
设置cookie
function setCookie(name,value){
document.cookie=name+"="+value
}
获取cookie
function getcookie(key) {
var str = document.cookie;
var startIndex = str.indexOf(key);
var value="";
if(startIndex==-1){//找不到
return value;
}
var endIndex = str.indexOf(";",startIndex);
if(endIndex==-1){//找不到
value = str.substring(startIndex+key.length+1)
}else{
value = str.substring(startIndex+key.length+1,endIndex)
}
return value;
}
a.html设置cookie
var id = $(this).attr("index");
setCookie("id",id)
b.html获取cookie
var id = getcookie("id");
javascript indexOf、lastindexOf、substring
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
如果没有找到匹配的字符串则返回 -1。
string.indexOf(searchvalue,start) string.indexOf(searchvalue)
参数 描述 searchvalue 必需。规定需检索的字符串值。 start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。 lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
string.lastIndexOf(searchvalue,start) string.lastIndexOf(searchvalue)
参数 描述 searchvalue 必需。规定需检索的字符串值。 start 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。 注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。
开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。
如果没有找到匹配字符串则返回 -1 。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。
string.substring(from, to) string.substring(from)//从from截取到结尾
参数 描述 from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置。 to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。