localStorage跟cookie的使用
最近做了记住密码功能,用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的使用的更多相关文章
- sessionStorage 、localStorage 与cookie 的异同点
cookie 容量4kb,默认各种浏览器都支持,缺陷就是每次请求,浏览器都会把本机存的cookies发送到服务器,无形中浪费带宽.userdata,只有ie支持,单个容量64kb,每个域名最多可存10 ...
- sessionStorage 、localStorage 和 cookie 之间的区别
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- sessionStorage 、localStorage 和 cookie 之间的区别(转)
essionStorage .localStorage 和 cookie 之间的区别(转) 2012-05-08 14:29:19| 分类: HTML5CSS3WEBAPP|举报|字号 订阅 ...
- 本地存储sessionStorage 、 localStorage 、cookie整理
sessionStorage . localStorage .cookie 的区别 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可 ...
- sessionStorage、localStorage、cookie
sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据.有了本地数据,就可以避免数据在浏览器和服务器间不必 ...
- sessionstorage,localstorage和cookie之间的区别以及各自的用法
由于年前辞了自己的工作,年后又开始重新找工作,参加了好几次面试,居然都遇到了同样的面试题:sessionstorage,localstorage和cookie之间的是区别? 当然,在面试的时候答的也不 ...
- sessionStorage 、localStorage 和 cookie
localStorage 和 sessionStorage HTML5 提供了两种在客户端存储数据的新方法:localStorage 和 sessionStorage: 两者都是仅在客户端(即浏览器) ...
- localStorage sessionStorage cookie indexedDB
目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...
- localStorage和cookie操作
localStorage和cookie操作代码: cookie: { isSupportCookie: function() { return navigator.cookieEnabled; }, ...
随机推荐
- python中的字符串和编码
了解编码之前首先说下这几个词的概率: 位.字节.字符.字符串 1.位(bit)也称为比特 这个其实很简单,因为计算机都是二进制存储数据,也就是0和1,一个0或者1就表示一位.这是计算机存储的最小单位. ...
- STM32-增量式旋转编码器测量
Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6 一.增量式旋转编码器 1.简介 编码器(encoder)是将信号(如比特流)或数据进行编制.转换为可 ...
- HTML常用汇总
HTML注释 <!-- --> XHTML:就是要遵守XML规则的HTML标签 DHTML:包含html,js,等动态HTML 表单元素提交时提交的是name属性 get提交.post提交 ...
- Mac 10.12安装窗口快速缩放到一定比例的工具Moom
说明:比如想要窗口只占用屏幕的一半时,我们的做法就是手动调节,而这款软件已经有快速按钮点一下即可. 下载: (链接: https://pan.baidu.com/s/1gfguJth 密码: wqjb ...
- 使用大白菜安装Windows Server 2012 r2
依照往常安装win10的习惯操作,结果发现无GUI界面.重装时注意到了两个问题: 1. 启动时有两个U盘启动选项,请选择无UEFI的模式启动: 2. 一键安装系统时,一定要点一下系统文件来源的地方,因 ...
- (转)AIX ODM 简介
什么是 ODM 原文:https://www.ibm.com/developerworks/cn/aix/library/1105_chenwei_odm/ Windows 的注册表相信大家都知道,是 ...
- spring boot快速入门 10: 日志使用
第一步:pom 文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- Fedora 24 python3.5 安装M2Crypto
安装M2Crypto#python3 -m pip install M2Crypto 出现错误 gcc: /usr/lib/rpm/redhat/redhat-hardened-cc1:Nosuch ...
- JS检测数据类型
如果你要判断的是基本数据类型或JavaScript内置对象,使用toString: 如果要判断的时自定义类型,请使用instanceof. 1.typeof typeof操作符返回的是类型字符串,它的 ...
- CentOS7服务管理(重启,停止,自动启动命令)
我们对service和chkconfig两个命令都不陌生,systemctl 是管制服务的主要工具, 它整合了chkconfig 与 service功能于一体. systemctl is-enable ...