zoukankan      html  css  js  c++  java
  • cookie应用与封装

    document.cookie

    本地环境中测试需要用fireFox,其它几个浏览器不行,服务器都可以测出正确结果

     
    cookie特点:
    1. 如登陆信息存储,同一论坛打开多个页面不用重复登陆,就是通过cookie来存取实现;
    2. 正常情况下,关闭浏览器,相应cookie信息会清除;
    3. 若设置了cookie的过期时间,关闭浏览器不会清除数据,只有到期清除,也可以手动清除;
     
    应用:
    如邮箱登陆后,记住用户名
    拖拽后记住位置
     
     
    cookie封装函数(可以直接使用):
    // 开始----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    //存入cookie
    function setCookie(name, value, iDay){
         //name:cookie名字; value:cookie值; iDay:缓存天数
         var oDate=new Date();
         oDate.setDate(oDate.getDate()+iDay);
         document.cookie=name+'='+value+';expires='+oDate;
    }
    //取出
    function getCookie(name){
         //'username=abc; password=123456; aaa=123; bbb=4r4er'
         var arr=document.cookie.split('; '); //以分号加空格进行分割,结果:arr->['username=abc', 'password=123456', ...]
         for(i=0;i<arr.length;i++){
              var arr2=arr[i].split('=');          //再次分割出名字进行比较,找到就返回相应的值,未找到就返回空
              if(arr2[0]==name){
                   return arr2[1];
              }
         }
         return '';
    }
    //删除
    function removeCookie(name){
         setCookie(name,'1',-1);          //设置对应的为昨天过期即可
    }
    // 结束----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------



    // 使用测试-----------------------------------------------------------------
    setCookie('username','sdd','10');     //设置
    setCookie('password','sdd2');
    alert(document.cookie);               //查看
    alert(getCookie('username'));     //查看指定的
    removeCookie('username');
    alert(getCookie('username'));     //删除指定的
     
     
     
     
     
     
    // 记住用户名功能(需要加载上面三个cookie函数) =============================================================
    window.onload=function(){
         var oForm=document.getElementById('form1');
         var oUser=document.getElementsByTagName('user')[0];     //input的name可以作为TagName来选择
         var oBtnclear=document.getElementsByTagName('a')[0];

         oForm.onsubmit=function(){
              setCookie('user',oUser.value,30);
         };
         oUser.value=getCookie('user');
         oBtnClear.onclick=function(){
              removeCookie('user');
              oUser.value='';
         };
    }
     
    <form id="form1" action="http://www.miaov.com/">
         用户名:<input type="text" name="user" />
         密码:<input type="password" name="pass" />
         <input type="submit" value="登录" />
         <a href="javascript:;">清除记录</a>
    </form>
  • 相关阅读:
    ASP在线群发源码!Jmail的需先安装jmail组件!
    用JS动态改变表单form里的action值属性的方法
    一些SqlBuckCopy心得
    近期关于Thread使用的一些感想.
    焦点图切换实现
    评国内三大B2C网站首页的信息架构
    20个改变网站用户体验的方法
    从信任出发建立电商用户体验体系
    Dom操作之兼容技巧
    9个移动网站优化的最佳实践
  • 原文地址:https://www.cnblogs.com/gardenliu/p/4226679.html
Copyright © 2011-2022 走看看