• JS cookie的使用


    cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。

    cookie是一种储存在本地的文件,用于下次访问网页的时候自动调用,直接读取客户端信息,避免重复执行,影响效率。

    但是cookie也是有缺陷的,客户端如果浏览器禁用了cookie,这样就无法写入读取了。

    每个cookie都是一个名/值对,把字符串赋值给document.cookie. 

    在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很容易,但要保存的值是不确定的。如何来存储这些值呢?方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,例如空格将会编码为“20%”,从而可以存储于cookie值中,而且使用此 种方案还可以避免中文乱码的出现。

    document.cookie="str="+escape("I am rain");   //  escape()编码,读取的时候也需要解码 unescape(document.cookie);

    下面是设置和获取cookie的函数。

     1 <html>
     2 <head>
     3 <script type="text/javascript">
     4 function getCookie(c_name)      //获取cookie  
     5 {
     6 if (document.cookie.length>0)    //判断是否存在cookie
     7   {
     8   c_start=document.cookie.indexOf(c_name + "=")
     9   if (c_start!=-1)
    10     { 
    11     c_start=c_start + c_name.length+1 
    12     c_end=document.cookie.indexOf(";",c_start)
    13     if (c_end==-1) c_end=document.cookie.length
    14     return unescape(document.cookie.substring(c_start,c_end))
    15     } 
    16   }
    17 return ""
    18 }
    19 //这个里面如果cookie的名字设置与之前存在的名字一样,则会覆盖之前的cookie,如果过期时间设置的是现在时间之前,则就是删除cookie
    20 function setCookie(c_name,value,expiredays)  //设置cookie, 参数是cookie 的名字,cookie的值 ,cookie的过期时间
    21 {
    22 var exdate=new Date()
    23 exdate.setDate(exdate.getDate()+expiredays)
    24 document.cookie=c_name+ "=" +escape(value)+
    25 ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
    26 }
    27 
    28 </script>
    29 </head>
    30 
    31 <body>
    32 </body>
    33 </html>
  • 相关阅读:
    博客作业01-抽象数据类型
    C语言最后一次作业--总结报告
    C语言博客作业--函数嵌套调用
    C语言博客作业--结构体
    数位DP之奥义
    POJ 3311 Hie with the Pie (状压DP)
    kaungbin_DP S (POJ 3666) Making the Grade
    POJ 3666 Making the Grade
    kuangbin_SegTree M (HDU 4553)
    kuangbin_SegTree I (HDU 1540)
  • 原文地址:https://www.cnblogs.com/joe2014/p/3825211.html
Copyright © 2020-2023  润新知