如何获取和删除cookie

创建cookie之后,可能出于各种原因需要将其删除。比如用户名与密码保存一天、一周或者一月等设置。最近文汇软件小编就接到了这样一个需求。

要求在后台管理员账号无操作15分钟内重新登录。苦思许久想到了删除cookie这一方式来实现功能。

恶补了一些相关知识,小编也是对其有所了了解:

cookie的删除一般有两种:

其一:没有显示设置cookie的过期时间.

       如果没有显示设置cookie的过期时间 ,cookie不会存入本地硬盘,仅仅保留在内存中,关闭浏览器时就会自动删除,不用我们控制生命周期。

其二:显示设置cookie的过期时间。

    大多时候cookie的生命周期都是人为设置的,已达到某些需求。

    比如常见的用户名密码保存一个小时,一天,一周等等,通过Expires属性即可实现。

    当当前时间超过Expires属性值的时候cookie就会被自动删除。

js中并没有直接删除cookie的接口 但是可以利用设置cookie的过期时间来实现删除功能。

代码实例如下:

//取cookies     
function getCookie(name){
  let arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
  if (arr != null) return unescape(arr[2]); 
  return null;
}
//删除cookie
function delCookie(name){
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)  document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString()+";path=/";
}

name就是你想要获取或者删除的cookie的名字了(浏览器F12 Application 中可查看)。

11.jpg

接下来监听页面上的事件,满足条件的时候调用函数就OK了。

下面抛一个问题 ,也是文汇小编在实现这个功能时所遇到的一个问题“如何监听iframe页面鼠标位置信息”感兴趣的小伙伴可以试试,欢迎留言讨论。

关键词:
返回列表

相关文章

相关案例