javascript cookies 设置、读取、删除实例代码


Posted in Javascript onApril 12, 2010

刚整理了一些关于javascript cookies操作的文章,发现这篇文章也不错,推荐大家一起参考,选择需要的,不足的地方主要是对路径的设置,喜欢的朋友可以结合下。

<script> 
function SetCookie(name,value)//两个参数,一个是cookie的名子,一个是值 
{ 
var Days = 30; //此 cookie 将被保存 30 天 
var exp = new Date(); //new Date("December 31, 9998"); 
exp.setTime(exp.getTime() + Days*24*60*60*1000); 
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 
function getCookie(name)//取cookies函数 
{ 
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)")); 
if(arr != null) return unescape(arr[2]); return null; 
} 
function delCookie(name)//删除cookie 
{ 
var exp = new Date(); 
exp.setTime(exp.getTime() - 1); 
var cval=getCookie(name); 
if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 
} SetCookie ("xiaoqi", "3") 
alert(getCookie('xiaoqi')); 
</script>

一个非常实用的javascript读写Cookie函数

function GetCookieVal(offset) 
//获得Cookie解码后的值 
{ 
var endstr = documents.cookie.indexOf (";", offset); 
if (endstr == -1) 
endstr = documents.cookie.length; 
return unescape(documents.cookie.substring(offset, endstr)); 
} 
function SetCookie(name, value) 
//设定Cookie值 
{ 
var expdate = new Date(); 
var argv = SetCookie.arguments; 
var argc = SetCookie.arguments.length; 
var expires = (argc > 2) ? argv[2] : null; 
var path = (argc > 3) ? argv[3] : null; 
var domain = (argc > 4) ? argv[4] : null; 
var secure = (argc > 5) ? argv[5] : false; 
if(expires!=null) expdate.setTime(expdate.getTime() + ( expires * 1000 )); 
documents.cookie = name + "=" + escape (value) +((expires == null) ? "" : ("; expires="+ expdate.toGMTString())) 
+((path == null) ? "" : ("; path=" + path)) +((domain == null) ? "" : ("; domain=" + domain)) 
+((secure == true) ? "; secure" : ""); 
} 
function DelCookie(name) 
//删除Cookie 
{ 
var exp = new Date(); 
exp.setTime (exp.getTime() - 1); 
var cval = GetCookie (name); 
documents.cookie = name + "=" + cval + "; expires="+ exp.toGMTString(); 
} 
function GetCookie(name) 
//获得Cookie的原始值 
{ 
var arg = name + "="; 
var alen = arg.length; 
var clen = documents.cookie.length; 
var i = 0; 
while (i < clen) 
{ 
var j = i + alen; 
if (documents.cookie.substring(i, j) == arg) 
return GetCookieVal (j); 
i = documents.cookie.indexOf(" ", i) + 1; 
if (i == 0) break; 
} 
return null; 
}

<SCRIPT language="javascript"> 
<!-- 
function openpopup(){ 
url="popup.htm" 
window.open("gonggao.htm","gonggao","width=260,height=212,left=200,top=0") 
} 
function get_cookie(Name) { 
var search = Name + "=" 
var returnvalue = ""; 
if (documents.cookie.length > 0) { 
offset = documents.cookie.indexOf(search) 
if (offset != -1) { 
offset += search.length 
end = documents.cookie.indexOf(";", offset); 
if (end == -1) 
end = documents.cookie.length; 
returnvalue=unescape(documents.cookie.substring(offset, end)) 
} 
} 
return returnvalue; 
} 
function helpor_net(){ 
if (get_cookie('popped')==''){ 
openpopup() 
documents.cookie="popped=yes" 
} 
} 
helpor_net() 
//--> 
</SCRIPT>

如果点了确定,只要不清cookie,以后访问都不会再提示,如果不点确定则每次都会提示。放在js文件里,全站包含

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
var the_cookie = document.cookie; 
var broken_cookie = the_cookie.split(":"); 
var the_visiteraccepted = unescape(broken_cookie[1]); 
// 
if (the_visiteraccepted=="undefined"){ 
var tmp=confirm('中国人何时何地。'); 
if(tmp==false){ 
window.close(); 
}else{ 
var the_visiteraccepted = 1; 
var the_cookie = "ILoveChina=visiteraccepted:" + escape(the_visiteraccepted); 
document.cookie = the_cookie; 
} 
} 
//--> 
</SCRIPT>

1. Cookie的兼容性问题
??Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version 0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC 2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的。而新版本的Cookie目前还不被Javax.servlet.http.Cookie包所支持。
??2. Cookie的内容
??同样的Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些特殊的字符,例如:空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号都不能作为Cookie的内容。这也就是为什么我们在例子中设定Cookie的内容为"Test_Content"的原因。
??虽然在Cookie Version 1规定中放宽了限制,可以使用这些字符,但是考虑到新版本的Cookie规范目前仍然没有为所有的浏览器所支持,因而为保险起见,我们应该在Cookie的内容中尽量避免使用这些字符

Javascript 相关文章推荐
基于逻辑运算的简单权限系统(实现) JS 版
Mar 24 Javascript
FF IE兼容性的修改小结
Sep 02 Javascript
jQuery Clone Bug解决代码
Dec 22 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
angularJS中$apply()方法详解
Jan 07 Javascript
JS实现控制文本框的内容
Jul 10 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
JS数组求和的常用方法总结【5种方法】
Jan 14 Javascript
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 jQuery
JS localStorage存储对象,sessionStorage存储数组对象操作示例
Feb 15 Javascript
vuex存取值和映射函数使用说明
Jul 24 Javascript
JavaScript canvas实现雨滴特效
Jan 10 Javascript
javascript cookies操作集合
Apr 12 #Javascript
javascript 数组学习资料收集
Apr 11 #Javascript
在UpdatePanel内jquery easyui效果失效的解决方法
Apr 11 #Javascript
JavaScript调用Activex控件的事件的实现方法
Apr 11 #Javascript
javascript dom 基本操作小结
Apr 11 #Javascript
JS Excel读取和写入操作(模板操作)实现代码
Apr 11 #Javascript
一个js的tab切换效果代码[代码分离]
Apr 11 #Javascript
You might like
利用PHP动态生成VRML网页
2006/10/09 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
2014/07/08 PHP
php购物车实现方法
2015/01/03 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
javascript设置页面背景色及背景图片的方法
2015/12/29 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
微信小程序图表插件(wx-charts)实例代码
2017/01/17 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
详解vue+css3做交互特效的方法
2017/11/20 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
js中如何完美的解析数据
2018/03/18 Javascript
5分钟教你用nodeJS手写一个mock数据服务器的方法
2019/09/10 NodeJs
详解Vue的ref特性的使用
2020/01/24 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
[48:48]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python编写检测数据库SA用户的方法
2014/07/11 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
少先队学雷锋活动月总结
2014/03/09 职场文书
行政监察建议书
2014/05/19 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
学术会议邀请函
2015/01/30 职场文书
投诉信回复范文
2015/07/03 职场文书