cookie详解

一直不是太清楚cookie,今天在网上搜索时看到一篇不错的文章,记录下来,网址为

http://www.cnblogs.com/Darren_code/archive/2011/11/24/Cookie.html

 

 1         <script type="text/javascript">
 2             /*
 3     *name: cookie对应的名
 4     *value: 对应的值
 5     *expireDays cookie的生存时间,默认为浏览器关闭时,cookie失效
 6     */
 7 
 8             function setCookie(name, value, expireDays) {
 9                 var _date = new Date();
10 
11                 //按天数来设置cookie的生存时间,同时也可以使用小时或其他来设置
12                 //exdate.setHours(exdate.getHours() + expiredays);按小时来设置cookie的生存周期
13                 _date.setDate(_date.getDate() + expireDays);
14 
15                 //escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串
16                 document.cookie = name + "=" + escape(value) + (expireDays == null ? "" : ";expires=" + _date.toGMTString());
17 
18             }
19 
20 /*
21     *根据键值来获取cookie
22     */
23 
24             function getCookie(c_name) {
25                 if (document.cookie.length > 0) {
26                     start = document.cookie.indexOf(c_name + "="); //
27                     if (start != -1) {
28 
29                         //寻找cookie开始的位置,次数+1指的为“=”
30                         start = start + c_name.length + 1;
31                         alert(start);
32 
33                         //从start位置开始搜寻;
34                         end = document.cookie.indexOf(";", start);
35 
36                         if (end == -1) {
37                             end = document.cookie.length;
38                         }
39                         alert(end);
40                         return unescape(document.cookie.substring(start, end));
41                     }
42 
43                 }
44                 alert("no cookie")
45                 return "";
46             }
47             if (getCookie('userName') != "") {
48                 alert(getCookie("userName"));
49             } else {
50                 setCookie('userName', 'test', 30);
51                 alert(getCookie("userName"));
52             }
53         </script>

  在google浏览器运行时,一直弹出的为"no cookie",很郁闷,经过查阅后才知道原来Google Chrome只支持在线网站的cookie的读写操作,对本地html的cookie操作是禁止的。所以下面的代码如果你写在一个本地的html文件中,将弹出的对话框内容为空。

  在IE浏览器中可以正确的读取cookie的值,通过查看cookie可以查看该cookie的相关信息,其他相关信息的解释如PATH, DOMAIN可以查看我上面给出连接的博文中,说的十分清楚

     

 

posted @ 2014-09-08 20:52  程序猿进化之路  阅读(192)  评论(0)    收藏  举报