zoukankan      html  css  js  c++  java
  • 初涉Cookie

    开始刷票啦,投票攻略,无限投方法!

    清除页面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,有点累了,看看明天能不能研究下。。。再补充进去

  • 相关阅读:
    Java之修改文件内容:字符串逐行替换
    Java之"instanceof"和"isInstance"代码举例
    spring之跨模块引用配置文件
    Java之相对路径找不到文件问题解决方法
    html 页面模块的常用命名
    移动端资源集锦
    手机web不同屏幕字体大小高度自适应
    meta标签整理
    css文字超出自动显示省略号
    display:inline、block、inline-block的区别
  • 原文地址:https://www.cnblogs.com/pilee/p/3572380.html
Copyright © 2011-2022 走看看