zoukankan      html  css  js  c++  java
  • JavaScript 客户端JavaScript之cookie和客户端持久性

    Document对象都有一个cookie属性,它使得JavaScript代码能够在用户的硬盘上持久地存储数据,
    并且能够获取以这种方式存储的数据。客户端持久性是赋予WEB应用程序记忆力的一种简单方法。
     
    cookie还可以用于客户端脚本化,并且是HTTP协议的一个标准扩展。
     
    cookie的字符串由  名字/值 组成 (=区分),不同的属性之间用分号隔开。
     
    cookie有4个可选属性
     
    1、expires(已被max-age取代)  生存期
    expires是未来的一个过期日期,max-age用秒来设置生命期
     
    2、path    指定与此cookie关联在一起的网页
    具有默认值,可通过设置path值,使其他来自同一个网络服务器的网页也可见(只要它的URL中
    含有指定路径(path的值),就可以共享这个cookie(具有访问权限的页面可以使用docuemtn.cookie访问指定的cookie)
     
    3、domain  用于多个web服务器共享cookie
     
    如 domain=.example.com;path=/;
     
    那么 catalog.example.com    orders.example.com 以及其它所有位于example.com域的其他服务器上的网页
    都能访问 这个cookie
     
    注:不可设置为服务器所在的域之外的域
     
    4、secure        布尔值
    指定如何传输
    true       Https或其他的安全协议连接时才被传输
    false      Http就可传输
     
    注:此4个都是cookie的属性,不是JavaScript对象的属性
    navigator.cookieEnabled  可查看浏览器是否启用cookie
     
     
     
     
    19.2 cookie的存储 
     
    注:cookie值不能含有分号、逗号或空白符
     
    方式: name1=value1;name2=value2;max-age=seconds;path=path;domain=domain;secure;
     
        document.getElementById("b1").onclick = function () {
            document.cookie = "version=a;max-age=2000;";
            var a = document.cookie;
     
        }
    用decodeURIComponent() 解码,以前用escape()和unescape()现基本已弃用。
    通过max-age设置,也可以用expires(必须是Date.toGMTString() 格式规范)
     
    max-age=60*60*24;
     
    1、改变一个cookie的值
        使用同一个path和domain以及新的值,再设置一次cookie的值(或更新生命期)
    2、删除cookie的值
    设置max-age值设置为0,或者设置为任意的值(或空的值)
     
     
    cookie的局限性
    浏览器总个数限制及每个cookie的大小控制,一般为300个及4KB的大小限制。
     
    19.3    cookie的读取
        只能读取name=value;这些字符串,不能对cookie4种属性进行读取。
    不同的name=value且分号隔开,value有多个值,可以且冒号分开,再自定义方法解析。
     
    注:cookie的惟一标识是 path+domain+name
     
    19.5 cookie的替代方法
    IE userData
    Flash SharedObject
     
    注:设置值时     "theme=blue; max-age=60; path=/; domain=test.com"   键值顺序不能乱放,  max-age=60; path=/; domain=test.com 这几个必须在实际值后面,如果将其它值放在这中间或之后,会读取不到。

    "theme=blue; max-age=60; path=/; domain=test.com"  可读取 theme=blue; max-age=60; 
    "max-age=60; theme=blue;path=/; domain=test.com"   可读取 max-age=60; 

     
  • 相关阅读:
    Linux下Samba的配置
    NYoj-街区最短路径问题
    Merge into的使用具体解释-你Merge了没有
    c++11 stl atomic_flag 样例
    7个最好的免费杀毒软件下载
    关于PCA算法的一点学习总结
    linux查看硬件信息
    js php xmlrequest 上传图片
    BZOJ1827 [Usaco2010 Mar]gather 奶牛大集会
    只有小于65535端口编程可以用,查看哪些端口被打开netstat -anp,nc命令,nmap命令
  • 原文地址:https://www.cnblogs.com/tlxxm/p/4396990.html
Copyright © 2011-2022 走看看