封装 cookie 添加、查询、删除函数 、hash

cookie: 会话跟踪技术 客户端
session: 会话跟踪技术 服务端

cookie作用:
  将页面的数据保存到浏览器中

cookie生命周期:
  一次会话:打开浏览器到关闭浏览器
  如果通过expires=设置了过期时间,并且过期时间没有过期,那么下一次打开浏览器还会存在

cookie注意点:
  cookie 默认不会保存任何的数据
  cookie 不能一次性设置多条数据,想保存多条数据,只能一条一条设置
  coolie 有大小和个数的限制
  个数:20~50
  大小:4kB 左右

cookie作用范围:
  同一个浏览器的同一个路径下访问
  如果在同一个浏览器中,默认情况下下一级路径就可以访问
  如果在同一个浏览器中,想让上一级目录也能访问保存的cookie,那么需要document.cookie="name=ze;path=/;";

  如果在 www.it666.com下面保存了一个cookie,那么我们在edu.it666.com

是无法访问的,要想访问 document.cookie="name=zs;path=/;domain=it666.com;";

封装 cookie 添加,查询,删除:

                //添加cookie                function addCoikie(key, value, day, path, domain) {
                    //1.处理默认保存的路径
                    var index = window.location.pathname.lastIndexOf("/");
                    var currentPath = window.location.pathname.slice(0, index);
                    path = path || currentPath;

                    //2.处理默认保存的domain
                    domain = domain || document.domain;
                    //3.处理默认的过期时间
                    if(!day) {
                        document.cookie = key+"="+value+";path="+path+";domain="+domain+";";
                    }else {
                        var date = new Date();
                        date.setDate(date.getDate() + day);
                        document.cookie =  key+"="+value+";expires="+date.toGMTString()+";path="+path+";domain="+domain+";";
                    }

                }
          addCoikie("score","998",1,"/","127.0.0.1");
                //查询cookie
                function getCookie(key) {
                    var res = document.cookie.split(";");

                    for(var i = 0; i < res.length; i++) {
                        var temp = res[i].split("=");
                        if(temp[0].trim() === key) {
                            return temp[1];
                        }
                    }
                }
                console.log(getCookie("name"));
                                    //删除cookie
                //默认情况下只能删除默认路径中保存的cookie,
                // 如果想删除指定路径保存的cookie, 那么必须在删除的时候指定路径才可以
                function delCookie(key, path) {
                    addCoikie(key, getCookie(key), -1, path);
                }
                delCookie("score", "/");

window.location.hash = 3;
console.log(window.location.hash.substring(1));  //3

原文地址:https://www.cnblogs.com/hjysunshine/p/12354388.html

时间: 2024-08-03 01:09:47

封装 cookie 添加、查询、删除函数 、hash的相关文章

数组练习:各种数组方法的使用&amp;&amp;事件练习:封装兼容性添加、删除事件的函数&amp;&amp;星级评分系统

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

3.solr学习速成之索引添加 查询 删除

solrserver.java public class solrServer { private solrServer(){}; final static String SOLR_URL = "http://localhost:8080/solr/test"; private static HttpSolrClient server = null; public static HttpSolrClient getServer(){ if(server == null){ server

单链表节点的添加和删除

单链表的节点定义 struct ListNode { int m_nValue; ListNode* m_pNext; }; 在单链表的末尾添加结点 void AddToTail(LIstNode** pHead,int value) { ListNode* pNew = new ListNode(); pNew->m_nValue = value; pNew->m_pNext = NULL; if(*pHead == NULL) *pHead = pNew; else { ListNode*

js中cookie的添加,删除,查询总结

function addCookie(objName,objValue,objHours){//添加cookie var str = objName + "=" + escape(objValue); if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objHours*3600*1000; date.setTime(date.getTime() + ms); str +=

JS封装cookie操作函数实例(设置、读取、删除)

本文实例讲述了JS封装cookie操作函数.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /*设置cookie*/ function setCookie(name, value, iDay) {   var oDate=new Date();   oDate.setDate(oDate.getDate()+iDay);   document.cook

ArcEngine查询、添加、删除要数的方法

转自原文ArcEngine查询.添加.删除要数的方法 1.查找数据 1).利用FeaturCursor进行空间查询 //空间查询 ISpatialFilter spatialFilter = new SpatialFilterClass(); spatialFilter.Geometry = envelope;//指定几何体 String shpFld = featureClass.ShapeFieldName; spatialFilter.GeometryField = shpFld; spa

JqueryMobile为Listview动态添加、删除查询功能

JqueryMobile的版本不同,引用JS的API也不同,因此为Listview动态添加.删除查询功能的代码也不同. 假设Listview控件内容如下: <ul data-role="listview" id="listview"  data-inset="true"> <li><a href="#">Acura</a></li> <li><a h

selenium读取、添加、删除cookie

读取cookie: 读取所有cookie:get_cookies() 读取指定cookie:get_cookie(name) 添加cookie:add_cookie(dict) 删除cookie: 删除所有cookie:delete_all_cookies() 删除指定cookie:delete_cookie(name) #coding=utf-8 from selenium import webdriver dr = webdriver.Firefox() dr.get("https://pa

Vue实现添加、删除、关键字查询

从今天开始,将不定期更新关于 Vue 的学习以及各种方法的使用,好了,下面就开始吧 Vue的实例创建首先需要我们引入一个vue.js(也可以在本地npm安装vue,我为了省事就...),然后在HTML中定义一个 id 为 app 的 div ,这里定义的 id 是看你的个人喜好了,只要和后面我们在 script 标签内一直即可 下面是一个简单的小例子,实现 列表的添加.删除.关键字查询 <!DOCTYPE html> <html lang="en"> <h