开始刷票啦,投票攻略,无限投方法!
清除页面Cookie,然后Bla Bla Bla...
哈哈,做粉丝的时候难免要投票,清除Cookie又总是无限投的秘诀。
但是话说自己真真的一次创建cookie都没有,只记得以前看过一篇博客说每个cookie不应大于4kb,要包含名字,值,还有有效期,创建的方法是document.cookie来
今天自己瞎搞搞,算是初次尝试cookie,不过自己脑海还是有很多问题
比如cookie和session的区别,我只知道一个是存在客户端(浏览器),一个存在服务器端。
但是创建cookie一般用客户端创建还是服务器端呢?这个之后自己再多看看一些文章研究研究,先写个小demo练练手。
做个登录框吧,简单点,就传个用户名就好
HTML部分,十分之丑
<form id="form1"> 用户名:<input type="text" name="user"/><br/> <input type="submit" value="登录" /> </form>
下面开始编写setCookie代码,一个cookie,需要名+值+期
function setCookie(c_name,value,expiredays) { var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredays); document.cookie=c_name+"="+escape(value)+((expiredays==null)?"":";expires="+exdate.toGMTString()); }
((expiredays==null)?"":";expires="+exdate.toGMTString())的意思就是当expiredays==null就设为"",反之设为exdate.toGMTString())
接着是getInfo(),把表单提交的用户名提取出来,并赋予setCookie
window.onload=function getInfo() { var _form=document.getElementById("form1"); var _user=document.getElementsByName("user")[0]; _form.onsubmit=function() { if(_user.value==null||_user.value=="") { alert(‘请输入用户名‘); } else{ setCookie(‘user‘,_user.value,15); } } }
话说我忘了getElementsByName返回的是数组/集合,所以后面要加个[0]。。。。用惯了jQuery就是毛病多啊
这样子的话就大功告成啦
如果要在页面显示出来呢,可以弄个getCookie()
function getCookie(c_name) { if(document.cookie.length>0) { c_start=document.cookie.indexOf(c_name+"="); if(c_start>-1) { c_start=c_start+c_name.length+1; c_end=document.cookie.indexOf(";",c_start); if(c_end==-1) { c_end=document.cookie.length; } return unescape(document.cookie.substring(c_start,c_end)); } } }
indexOf()应该还算熟悉了,就是返回字符首次出现的位置,对于查找十分的方便,记得之前做将url对象化也用到了。
至于清除cookie,有点累了,看看明天能不能研究下。。。再补充进去
原文:http://www.cnblogs.com/pilee/p/3572380.html