• js操作cookie


    什么是cookie

    cookie是存储在访问者计算机中的一个变量,当同一台计算机通过浏览器请求页面时,就会发送这个cookie,JavaScript可以创建和取回cookie值。
    每个cookie都是key-value键值对的形式,如“username=123;userid=321”。
    cookie使用escape()对它无法识别的“;”,“,”,“=”及空格进行编码,对应的在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。

    cookie跨域

    默认情况下,在某页面下创建的cookie,可以被该目录下的其他页面访问及子目录下的页面访问,但是不可被不同源的页面访问,如www.xxxx.com/views/a.html下的cookie可以被www.xxxx.com/views/b.html和www.xxxx.com/views/index/c.html访问,但是不可以被www.xxxx.com/d.html访问,这涉及到了同源策略。

    同源策略指的是不同源的客户端脚本在无明确授权下不可访问读写对方的资源,源指的是协议、域名、端口号。如http://www.xxx.com:80/,协议就是http或https,域名就是xxx.com,端口一般默认80。

    解决cookie的跨域问题,如www.google.com和gmail.google.com的跨域,可以使用document.domain设置相同的域名。

    创建cookie

    参数存有 cookie 的名称、值以及过期天数

    function setCookie(c_name,value,expire){
      var date = new Date();
      date.setSeconds(date.getSeconds()+expire);
      document.cookie = c_name+'='+escape(value)+'; expires='+date.toGMTString();
    }
    

    读取cookie

    function getCookie(c_name)
    {
    	if(document.cookie.length>0){
    		let c_start = document.cookie.indexOf(c_name+'=')
    		if(c_start!=-1){
    			c_start = c_start+c_name.length+1
    			let c_end = document.cookie.indexOf(';',c_start)
    			if(c_end == -1) c_end=document.cookie.length
    			return unescape(document.cookie.substring(c_start,c_end))
    		}
    	}
    	return ""	
    }
    

    删除cookie

    function delCookie(c_name){
    	setCookie(c_name,'',-1)
    }
    
  • 相关阅读:
    索引使用及注意事项
    Explain详解与索引
    JVM常量池了解
    认识Mysql索引
    JVM调优工具及了解
    JVM垃圾收集器
    JVM垃圾回收相关算法
    JVM字节码文件结构剖析
    JVM对象创建与内存分配机制
    JVM内存参数设置
  • 原文地址:https://www.cnblogs.com/yihen-dian/p/8875036.html
Copyright © 2020-2023  润新知