javascript cookies 存、取、删除实例

 
  1. <script>
  2. //写cookies函数 作者:翟振凯
  3. function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值
  4. {
  5.     var Days = 30; //此 cookie 将被保存 30 天
  6.     var exp  = new Date();    //new Date("December 31, 9998");
  7.     exp.setTime(exp.getTime() + Days*24*60*60*1000);
  8.     document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  9. }
  10. function getCookie(name)//取cookies函数        
  11. {
  12.     var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
  13.      if(arr != nullreturn unescape(arr[2]); return null;
  14. }
  15. function delCookie(name)//删除cookie
  16. {
  17.     var exp = new Date();
  18.     exp.setTime(exp.getTime() - 1);
  19.     var cval=getCookie(name);
  20.     if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
  21. }
  22. SetCookie ("xiaoqi""3")
  23. alert(getCookie('xiaoqi'));
  24. </script>

  1. 一个非常实用的javascript读写Cookie函数
  2. 一个非常实用的javascript读写Cookie函数  
  3. function  GetCookieVal(offset)
  4. //获得Cookie解码后的值
  5. {
  6. var  endstr  =  documents.cookie.indexOf  (";",  offset);
  7. if  (endstr  ==  -1)
  8. endstr  =  documents.cookie.length;
  9. return  unescape(documents.cookie.substring(offset,  endstr));
  10. }
  11. function  SetCookie(name,  value)
  12. //设定Cookie值
  13. {
  14. var  expdate  =  new  Date();
  15. var  argv  =  SetCookie.arguments;
  16. var  argc  =  SetCookie.arguments.length;
  17. var  expires  =  (argc  >  2)  ?  argv[2]  :  null;
  18. var  path  =  (argc  >  3)  ?  argv[3]  :  null;
  19. var  domain  =  (argc  >  4)  ?  argv[4]  :  null;
  20. var  secure  =  (argc  >  5)  ?  argv[5]  :  false;
  21. if(expires!=null)  expdate.setTime(expdate.getTime()  +  (  expires  *  1000  ));
  22. documents.cookie  =  name  +  "="  +  escape  (value)  +((expires  ==  null)  ?  ""  :  (";  expires="+  expdate.toGMTString()))
  23. +((path  ==  null)  ?  ""  :  (";  path="  +  path))  +((domain  ==  null)  ?  ""  :  (";  domain="  +  domain))
  24. +((secure  ==  true)  ?  ";  secure"  :  "");
  25. }
  26. function  DelCookie(name)
  27. //删除Cookie
  28. {
  29. var  exp  =  new  Date();
  30. exp.setTime  (exp.getTime()  -  1);
  31. var  cval  =  GetCookie  (name);
  32. documents.cookie  =  name  +  "="  +  cval  +  ";  expires="+  exp.toGMTString();
  33. }
  34. function  GetCookie(name)
  35. //获得Cookie的原始值
  36. {
  37. var  arg  =  name  +  "=";
  38. var  alen  =  arg.length;
  39. var  clen  =  documents.cookie.length;
  40. var  i  =  0;
  41. while  (i  <  clen)
  42. {
  43. var  j  =  i  +  alen;
  44. if  (documents.cookie.substring(i,  j)  ==  arg)
  45. return  GetCookieVal  (j);
  46. i  =  documents.cookie.indexOf("  ",  i)  +  1;
  47. if  (i  ==  0)  break;
  48. }
  49. return  null;
  50. }
  51.  
  52. <SCRIPT  language="javascript">
  53. <!--
  54. function  openpopup(){
  55. url="popup.htm"
  56. window.open("gonggao.htm","gonggao","width=260,height=212,left=200,top=0")
  57. }
  58. function  get_cookie(Name)  {
  59. var  search  =  Name  +  "="
  60. var  returnvalue  =  "";
  61. if  (documents.cookie.length  >  0)  {
  62. offset  =  documents.cookie.indexOf(search)
  63. if  (offset  !=  -1)  {
  64. offset  +=  search.length
  65. end  =  documents.cookie.indexOf(";",  offset);
  66. if  (end  ==  -1)
  67. end  =  documents.cookie.length;
  68. returnvalue=unescape(documents.cookie.substring(offset,  end))
  69. }
  70. }
  71. return  returnvalue;
  72. }
  73. function  helpor_net(){
  74. if  (get_cookie('popped')==''){
  75. openpopup()
  76. documents.cookie="popped=yes"
  77. }
  78. }
  79. helpor_net()
  80. //-->
  81. </SCRIPT>
  82.  
  83. 如果点了确定,只要不清cookie,以后访问都不会再提示,如果不点确定则每次都会提示。放在js文件里,全站包含
  84. <SCRIPT LANGUAGE="JavaScript">
  85. <!--
  86. var the_cookie = document.cookie;
  87. var broken_cookie = the_cookie.split(":");
  88. var the_visiteraccepted = unescape(broken_cookie[1]);
  89. //
  90. if (the_visiteraccepted=="undefined"){
  91.         var tmp=confirm('中国人何时何地。');
  92.         if(tmp==false){
  93.                 window.close();
  94.         }else{
  95.                 var the_visiteraccepted = 1;         
  96.         var the_cookie = "ILoveChina=visiteraccepted:" + escape(the_visiteraccepted);                                 
  97.         document.cookie = the_cookie;
  98.         }
  99. }
  100. //-->
  101. </SCRIPT>
  102.  
  103. 1. Cookie的兼容性问题
  104. Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version 0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC 2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目前还不被Javax.servlet.http.Cookie包所支持。
  105. 2. Cookie的内容
  106. 同样的 Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为Cookie的内容。这也就是为什么我们在例子中设定Cookie的内容为"Test_Content"的原因。
  107. 虽然在Cookie Version 1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的Cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在Cookie的内容中尽量避免使用这些字符

  108. http://www.hq-poly.com/news/read.asp?id=137

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值