js利用cookie实现记住用户页面操作

时间:2021-09-30 20:00:51

前言

开发过程中,有时候会遇到一些类似需求,比如记住用户在浏览器层面所做的操作。之前做过一个功能,当时使用了一个拖拽插件展示一个类似九宫格的报表图,每个图形都可以显示和隐藏,如果用户点击了显示或隐藏按钮,那么下次进入系统时浏览器保留上一次的操作结果。核心部分是使用js对cookie进行操作,具体业务部分则是触发点击图形事件时,如果是隐藏,则将该图形对应的div从cookie中删除,点击显示时,将图形div写入cookie。本文只记录cookie部分操作,具体业务代码大家可以根据自己的实际情况去写。

什么时cookie?

  • cookie有4kb大小,超出长度会返回空字符串;
  • cookie存放在客户端,可以方便的修改查看,所以不能用cookie存放重要信息;
  • cooki生命周期会在关闭浏览器以后结束,如果要在一段事件内使用,我们可以为cookie设置有效时间;

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265 [1] 。(可以叫做浏览器缓存)
——引用自百度百科

方法如下

1.设置cookie 参数: cname:cookie 名称,cvalue:cookie 值 ,exdays:cookie 的过期时间

?
1
2
3
4
5
6
7
function setCookie(cname,cvalue,exdays)
{
 var d = new Date();
 d.setTime(d.getTime()+(exdays*24*60*60*1000));
 var expires = "expires="+d.toGMTString();
 document.cookie = cname + "=" + cvalue + "; " + expires;
}

2.获取cookie

?
1
2
3
4
5
6
7
8
9
10
11
function getCookie(cname)
{
 var name = cname + "=";
 var ca = document.cookie.split(';');
 for(var i=0; i<ca.length; i++)
 {
 var c = ca[i].trim();
 if (c.indexOf(name)==0) return c.substring(name.length,c.length);
 }
 return "";
}

3.删除cookie

?
1
2
3
4
5
6
7
8
9
function delCookie(cname)
{
 var exp = new Date();
 exp.setTime(exp.getTime()-1);
 var cval = getCookie(cname);
 if(cval != null){
    document.cookie = cname + "=" + cval + ";expires=" + exp.toGMTString();
 }
}

希望这篇文章对你有所帮助,如果有用的话,记得关注我吆,后期持续为大家输出更多内容

参考:cookie操作

总结

到此这篇关于js利用cookie实现记住用户页面操作的文章就介绍到这了,更多相关js cookie记住用户内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_34279303/article/details/114746509