JavaScript的cookie

来源:互联网 发布:java培训学校 编辑:程序博客网 时间:2024/05/16 15:29

在做JavaScript操作cookie时网上的东西很多,但是大多数都没有说cookie的那些可选属性是不可读的(path、domain、expires、secure)

Cookie是一个键值对形式的字符串。

需要注意的是,用这个方法一次只能对一个cookie进行设置或更新。

  • 以下可选的cookie属性值可以跟在键值对后,用来具体化对cookie的设定/更新,使用分号以作分隔:
    • ;path=path (例如 '/', '/mydir') 如果没有定义,默认为当前文档位置的路径。
    • ;domain=domain (例如 'example.com', '.example.com' (包括所有子域名), 'subdomain.example.com') 如果没有定义,默认为当前文档位置的路径的域名部分。
    • ;max-age=max-age-in-seconds (例如一年为60*60*24*365)
    • ;expires=date-in-GMTString-format 如果没有定义,cookie会在对话结束时过时
    • ;secure 

参考https://developer.mozilla.org/zh-CN/docs/Web/API/Document/cookie


function getCookies(cName){var strCookie = document.cookie;if(strCookie.length > 0){var cStart = strCookie.indexOf(cName+":");if(cStart != -1){cStart = cStart + cName.length + 1;var cEnd = strCookie.indexOf(";",cStart);/*在cookie字符串的最后是不会有';'的所以得有下面的判断否则取出来的是从0-cStart的字符串substring()不接受负值参数;如果有负值的参数将其值变为0;两参数值,取较小的值为开始位置,截取字符串长度为较大值与较小值的差。*/if(cEnd == -1){cEnd = document.cookie.length;}return strCookie.substring(cStart,cEnd);}}return "";}


参考:http://blog.csdn.net/fionahd/article/details/1884421###