网站地图    收藏   

主页 > 前端 > javascript >

Javascript设置、读取、删除cookie函数

来源:自学PHP网    时间:2016-07-08 16:18 作者: 阅读:

[导读] js cookie对cookie删除我们只要操作expires过期时间就可以了,设置cookie对document.cookie进行操作即可,下面我们看几个相关函数...

Cookie是浏览器(User Agent)访问一些网站后,这些网站存放在客户端的一组数据,用于使网站等跟踪用户,实现用户自定义功能。

Cookie的Domain和Path属性标识了这个Cookie是哪一个网站发送给浏览器的;Cookie的Expires属性标识了Cookie的有效时间,当Cookie的有效时间过了之后,这些数据就被自动删除了。

如 果不设置过期时间,则表示这个Cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,Cookie就消失了。这种生命期为浏览会话期的Cookie 被称为会话Cookie。会话Cookie一般不保存在硬盘上而是保存在内存里。如果设置了过期时间,浏览器就会把Cookie保存到硬盘上,关闭后再次 打开浏览器,这些Cookie依然有效直到超过设定的过期时间。存储在硬盘上的Cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存 在内存的Cookie,不同的浏览器有不同的处理方式。

设置cookie

function setCookie(name, value,days) {
//三个参数,一个是cookie的名子,一个是值,最后一个是天数
var exp = new Date();    //new Date("December 31, 9998");
exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}

读取cookie

function getCookie(name) {
//取cookies函数
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null)
return unescape(arr[2]);
return null;
}

删除cookie

function delCookie(name){
//删除cookie并重新演示
// 该函数检查下cookie是否设置,如果设置了则将过期时间调到过去的时间;
//剩下就交给操作系统适当时间清理cookie啦
if (getCookie(name))
{
document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}

使用cookie换肤

var themes = {
  'gray' : 'tpl/gray.css',
  'black' : 'tpl/black.css',
  'bootstrap' : 'tpl/bootstrap.css',
  'default' : 'tpl/default.css',
  'metro' : 'tpl/metro.css'
 };
 var skins = $('.li-skinitem span').click(function() {
  var $this = $(this);
  if($this.hasClass('cs-skin-on')) return;
  skins.removeClass('cs-skin-on');
  $this.addClass('cs-skin-on');
  var skin = $this.attr('rel');
  $('#swicth-style').attr('href', themes[skin]);
  setCookie('cs-skin', skin);
  skin == 'dark-hive' ? $('.cs-north-logo').css('color', '#FFFFFF') : $('.cs-north-logo').css('color', '#000000');
 });
 if(getCookie('cs-skin')) {
  var skin = getCookie('cs-skin');
  $('#swicth-style').attr('href', themes[skin]);
  $this = $('.li-skinitem span[rel='+skin+']');
  $this.addClass('cs-skin-on');
  skin == 'dark-hive' ? $('.cs-north-logo').css('color', '#FFFFFF') : $('.cs-north-logo').css('color', '#000000');
 }


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论