前言
开发过程中,有时候会遇到一些类似需求,比如记住用户在浏览器层面所做的操作。之前做过一个功能,当时使用了一个拖拽插件展示一个类似九宫格的报表图,每个图形都可以显示和隐藏,如果用户点击了显示或隐藏按钮,那么下次进入系统时浏览器保留上一次的操作结果。核心部分是使用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 的过期时间
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
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
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记住用户内容请搜索NICE源码以前的文章或继续浏览下面的相关文章希望大家以后多多支持NICE源码!