纯js使用cookie时首先要在<script></script>中写入使用cookie的方法,或者将方法另存在指定的js文件中,使用外链引入,设置cookie的方法有三个值,第一个为cookie的名称,第二个为cookie的值,第三个为过期时间,如果不填写过期时间就默认为关闭浏览器后失效。
//设置cookie的方法:
function setCookie(c_name, value, expiredays) {
var exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = c_name + "=" + escape(value)
+ ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
}
//获取cookie的方法:
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
//清除cookie的方法
function clearCookie(c_name) {
setCookie(c_name, "", -1);
}
案例代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
//设置cookie的方法:
function setCookie(c_name, value, expiredays) { //设置cookie有三个值("cookie名称","cookie的值","过期时间")
var exdate = new Date()
exdate.setDate(exdate.getDate() + expiredays)
document.cookie = c_name + "=" + escape(value)
+ ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString())
}
//获取cookie的方法:
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
setCookie("mycookie","cookieName");//设置一个cookie
alert(getCookie("mycookie"));//弹出cookie的值
</script>
<title></title>
</head>
<body>
</body>
</html>
效果图
如果想要清除cookie,重写一次设置cookie将值写为空值即可,例如 setCookie("mycookie","");
效果图