最近做了记住密码功能,用localStorage跟cookie都尝试用了一下,感觉都挺好哈,很方便,特此记录

html代码:

<input type="text" id="userName" placeholder="账号">
<input type="password" id="password" placeholder="密码"/>
<input class="remember" type="checkbox" style="width: 0.3rem;margin-top: 0px;" id="" value=""/><label style="line-height: 32px;">记住密码</label>
<button id="btn">登录</button>

Js代码:

<script type="text/javascript">
 //点击记住密码按钮
$(".remember").click(function(){ //如果有值,则将用户名跟密码存入localStorage或者cookie
  if($(this).prop('checked') && $("#password").val()&& $("#userName").val()){
    //localStorage.setItem("password",$("#password").val()); //存入localStorage写法
    //localStorage.setItem("userName",$("#userName").val());
    $.cookie('password', $("#password").val(), { expires: 7 }); //存入cookie写法(expires:7表示设置有效期为7天)
    $.cookie('userName', $("#userName").val(), { expires: 7 });
  }else{
    //localStorage.setItem("password",'');
    //localStorage.setItem("userName",'');
    $.cookie("password",'',{ expires: -1 });
    $.cookie("userName",'',{ expires: -1 });
  } })
$("#btn").click(function(){
  if($(".remember").prop('checked') && $("#password").val()&& $("#userName").val()){
    //localStorage.setItem("password",$("#password").val());
    //localStorage.setItem("userName",$("#userName").val());
    // 创建一个cookie并设置有效时间为7天:
    $.cookie('password', $("#password").val(), { expires: 7 });
    $.cookie('userName', $("#userName").val(), { expires: 7 });
    console.log($.cookie('password'));
  }else{
    $.cookie('password', '',{ expires: -1 }); //清空cookie里的password
    $.cookie('userName', '',{ expires: -1 }); //清空cookie里的userName
    //localStorage.setItem("password",''); //清空localStorage里的password
    //localStorage.setItem("userName",''); //清空localStorage里的userName
  }
    var userName = $("#userName").val();
    var password = $("#password").val();
    if(!userName){
      alertTip("请输入账号!");
    }
    if(!password){
 alertTip("请输入密码!");
    }
    $.ajax({
      url : basePath + '/login?loginName=' + userName + '&password=' + encodeURIComponent(password),
      dataType : 'json',
      type : "post",
 success : function(data) {
   if (!data.success) {
alertTip(data.errmsg);
return;
   }
   var userUid=data.user.userUid;
   toApp(userUid)
        window.location.href = 'index.html';
      },
      error : function() {
        alertTip("未能连接到服务器!");
      }
    });
})
  function toApp(userUid){
    if (isAndroid()) { //给androidapp传参数
      var jsonStr = JSON.stringify({"userUid": userUid});
      AppHost.getUserUid(jsonStr);
    } else { //给ios传参数
      window.webkit.messageHandlers.getUserUid.postMessage({"userUid": userUid});
    }
  }
</script>

两者区别:

1.cookie的存储大小为4KB,而localStorage的存储数据大小一般都是:5MB

2.cookie若不设置有效时间,则生命周期随浏览器的关闭而结束,若设置了有效时间,则浏览器关闭,cookie数据也在,知道过了有效时间;而localStorage数据,除非你手动清楚,否则会一直存在

localStorage跟cookie的使用的更多相关文章

  1. sessionStorage 、localStorage 与cookie 的异同点

    cookie 容量4kb,默认各种浏览器都支持,缺陷就是每次请求,浏览器都会把本机存的cookies发送到服务器,无形中浪费带宽.userdata,只有ie支持,单个容量64kb,每个域名最多可存10 ...

  2. sessionStorage 、localStorage 和 cookie 之间的区别

    sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...

  3. sessionStorage 、localStorage 和 cookie 之间的区别(转)

    essionStorage .localStorage 和 cookie 之间的区别(转) 2012-05-08 14:29:19|  分类: HTML5CSS3WEBAPP|举报|字号 订阅     ...

  4. 本地存储sessionStorage 、 localStorage 、cookie整理

    sessionStorage . localStorage .cookie 的区别 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可 ...

  5. sessionStorage、localStorage、cookie

    sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...

  6. sessionstorage,localstorage和cookie之间的区别以及各自的用法

    由于年前辞了自己的工作,年后又开始重新找工作,参加了好几次面试,居然都遇到了同样的面试题:sessionstorage,localstorage和cookie之间的是区别? 当然,在面试的时候答的也不 ...

  7. sessionStorage 、localStorage 和 cookie

    localStorage 和 sessionStorage HTML5 提供了两种在客户端存储数据的新方法:localStorage 和 sessionStorage: 两者都是仅在客户端(即浏览器) ...

  8. localStorage sessionStorage cookie indexedDB

    目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...

  9. localStorage和cookie操作

    localStorage和cookie操作代码: cookie: { isSupportCookie: function() { return navigator.cookieEnabled; }, ...

随机推荐

  1. ES6之新增let命令使用方法

    let命令的用法 let是es6中的声明一个变量的命令,只在它声明的代码块中有效,出了这个代码块就会报错.也非常适合for循环,在循环中i的值只在循环语句中生效,在外边取不到的. var命令声明的是一 ...

  2. web测试需要注意几个非常重要的测试点

    web测试需要注意几个非常重要的测试点   微软语言标准: 全角字符和半角字符都要使用一个空格分开 英文和数字直接要有空页面分辨率: 通常是计算机的默认分辨率,但是还是会有一些老式电脑存在1024*7 ...

  3. 大数据-HBase HA集群搭建

    1.下载对应版本的Hbase,在我们搭建的集群环境中选用的是hbase-1.4.6 将下载完成的hbase压缩包放到对应的目录下,此处我们的目录为/opt/workspace/ 2.对已经有的压缩包进 ...

  4. UI1

    计算机工程系     目 录   实验一 Photoshop基本界面熟悉 3 实验二 PhotoShop常用工具的使用 4 实验三 图象和图层的处理 7 实验四 各种滤镜方式的处理 13 实验五 Ph ...

  5. FJWC2019 全连

    题目描述 有n个音符,第i个音符会在第i个时刻来临 令第 i 个音符的准备时间为 ti​ 个单位时间,如果选择去点击第 i 个音符,那么就没法点击所有到来时刻在 (i−ti​ ,i+ti​)中的音符. ...

  6. header请求头信息详细介绍

    https://www.byvoid.com/zhs/blog/http-keep-alive-header HTTP协议头部与Keep-Alive模式详解 1.什么是Keep-Alive模式? 我们 ...

  7. Mac 10.12原生方法对NTFS分区进行读写的配置

    说明:不一定有效,最简单的方法就是不用NTFS,直接FAT32,对于大文件就用切割. 方法: 1.确定U盘名称 diskutil list ls /Volumes/ 2.比如我找到的U盘名称为Unti ...

  8. php 如何匹配中文或英文姓名

    这几天在做项目的用户注册时,想限制用户使用一些比较奇怪的字符作为名字,即使用中文或者英文名字. 查了一些资料,例如:网友挥得更高的百度空间 写下了以下函数. //验证名字和密码 if (!preg_m ...

  9. Javac的命令

    关于命令,还可以查看<Java 7程序设计>一书后面的附录A As per javac source docs, there are 4 kinds of options: standar ...

  10. Integer 与 int -- 自动装箱(autoboxing)与自动拆箱(unboxing)

    转载于 http://www.ticmy.com/?p=110 jdk1.5引入了自动装箱(autoboxing)与自动拆箱(unboxing),这方便了集合类以及一些方法的调用,同时也使初学者对其感 ...