cookie存储
cookie若不设置过期时间关闭浏览器后会自动清除数据
存储限制4k
同地址下其他文件也能读取到
```js<form action=""> 用户名:<input type="text" id="username" value="" /> 密码:<input type="password" id="userpassword" value="" /> <input type="checkbox" id="remember" onclick="rememberValue(this)"> <label for="remember">记住账号密码</label> </form>
/**- cookie用字符串拼接即可
- cookie后可接
- ; path=path
- ; domain=domain
- ; secure
*/
/**
- [setCookie 设置cookie]
- @param {[String]} c_name [起个名,独一无二的名字]
- @param {[String]} c_value [需要存的值]
- @param {[Number]} exdays [时间/天数,设置保存时间 0时为删除]
/
function setCookie(c_name, c_value, exdays) {
document.cookie = c_name + "=" + encodeURIComponent(c_value) + "; max-age=" + (exdays606024);// 解决符号转码
}
/**
- 读取cookies
- @param {[String]} c_name [读取名字]
- @return {[String]} [返回读取cookie的值]
*/
function getCookie(c_name) {
var name = c_name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
}var c = decodeURIComponent(ca[i].trim());// 解码 if (c.indexOf(name) == 0){ return c.substring(name.length, c.length); }
return "";
}
// 使用示例
var username = document.getElementById("username"); // 获取input username
var userpwd = document.getElementById("userpassword"); // 获取input userpassword
var remember = document.getElementById("remember"); // 获取记住账号密码
/**
- 点击复选框记住 账号、密码、复选框
*/
function rememberValue() {
if (remember.checked == true) {
} else {setCookie('user', username.value);// 临时 setCookie('pwd', userpwd.value, 30); setCookie('remember', remember.checked, 30);
}setCookie("user","",0); setCookie("pwd","",0); setCookie("remember","",0);
}
/**
- 页面加载完毕后从cookie里读取值并填入相应的标签内
*/
window.onload = function () {
username.value = getCookie("user");
userpwd.value = getCookie("pwd");
remember.checked = getCookie("remember");
}
```
localStorage存储
存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下。
localStorage与sessionStorage的区别:就是localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空
关闭浏览器后,再打开仍有数据
清除缓存加载后仍有数据
同网络地址页面均能得到数据
<form action=""> 用户名: <input type="text" id="username" value="" /> 密码: <input type="password" id="userpassword" value="" /> <input type="checkbox" id="remember" onclick="rememberValue(this)"> <label for="remember">记住账号密码</label> </form>
// localStorage使用示例 var username = document.getElementById("username"); // 获取input username var userpwd = document.getElementById("userpassword"); // 获取input userpassword var remember = document.getElementById("remember"); // 获取记住账号密码 // 点击复选框记住 账号、密码、复选框 function rememberValue() { if (remember.checked == true) { localStorage.setItem('user', username.value); localStorage.setItem('pwd', userpwd.value); localStorage.setItem('remember', remember.checked); } else { localStorage.removeItem("user"); localStorage.removeItem("pwd"); localStorage.removeItem("remember"); // localStorage.clear();// 全部删除 } } // 页面加载完毕后从localStorage里读取值并填入相应的标签内 window.onload = function () { username.value = localStorage.getItem("user"); userpwd.value = localStorage.getItem("pwd"); remember.checked = localStorage.getItem("remember"); }
sessionStorage存储
关闭浏览器再打开将不保存数据
复制标签页会连同sessionStorage数据一同复制
复制链接地址打开网页不会复制seessionStorage内的数据
清除缓存加载当前页对页面无影响
- 同源策略限制。若想在不同页面之间对同一个sessionStorage进行操作,这些页面必须在同一协议、同一主机名和同一端口下。(IE 8和9存储数据仅基于同一主机名,忽略协议(HTTP和HTTPS)和端口号的要求)
- 单标签页限制。sessionStorage操作限制在单个标签页中,在此标签页进行同源页面访问都可以共享sessionStorage数据。
- 只在本地存储。seesionStorage的数据不会跟随HTTP请求一起发送到服务器,只会在本地生效,并在关闭标签页后清除数据。(若使用Chrome的恢复标签页功能,seesionStorage的数据也会恢复)。
- 存储方式。seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。true值会转换为"true")。
- 存储上限限制:不同的浏览器存储的上限也不一样,但大多数浏览器把上限限制在5MB以下。
<form action="">
用户名:
<input type="text" id="username" value="" /> 密码:
<input type="password" id="userpassword" value="" />
<input type="checkbox" id="remember" onclick="rememberValue(this)">
<label for="remember">记住账号密码</label>
</form>
// sessionStorage使用示例
var username = document.getElementById("username"); // 获取input username
var userpwd = document.getElementById("userpassword"); // 获取input userpassword
var remember = document.getElementById("remember"); // 获取记住账号密码
// 点击复选框记住 账号、密码、复选框
function rememberValue() {
if (remember.checked == true) {
sessionStorage.setItem('user', username.value);
sessionStorage.setItem('pwd', userpwd.value);
sessionStorage.setItem('remember', remember.checked);
} else {
sessionStorage.removeItem("user");
sessionStorage.removeItem("pwd");
sessionStorage.removeItem("remember");
// sessionStorage.clear();// 全部删除
}
}
// 页面加载完毕后从sessionStorage里读取值并填入相应的标签内
window.onload = function () {
username.value = sessionStorage.getItem("user");
userpwd.value = sessionStorage.getItem("pwd");
remember.checked = sessionStorage.getItem("remember");
}