HTML5 提供了兩種在客戶端存儲數據的新方法:
- localStorage - 沒有時間限制的數據存儲
- sessionStorage - 針對一個 session 的數據存儲
localStorage 方法存儲的數據沒有時間限制。第二天、第二周或下一年之后,數據依然可用。
web storage和cookie的區別
Web Storage的概念和cookie相似,區別是它是為了更大容量存儲設計的。Cookie的大小是受限的,並且每次你請求一個新的頁面的時候Cookie都會被發送過去,這樣無形中浪費了帶寬,另外cookie還需要指定作用域,不可以跨域調用。
除此之外,Web Storage擁有setItem,getItem,removeItem,clear等方法,不像cookie需要前端開發者自己封裝setCookie,getCookie。
但是Cookie也是不可以或缺的:Cookie的作用是與服務器進行交互,作為HTTP規范的一部分而存在 ,而Web Storage僅僅是為了在本地“存儲”數據而生
一、判斷瀏覽器是否支持localStorage可以使用下面的代碼:
if(window.localStorage){
alert("瀏覽支持localStorage")
}
else
{
alert("瀏覽暫不支持localStorage")
}
//或者 if(typeof window.localStorage == 'undefined'){ alert("瀏覽暫不支持localStorage") }
二、代碼demo
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>localStorage</title>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<form action="" method="post" onsubmit="return loginBtn_click();">
<h3>Log in</h3>
<input type="text" name="user" placeholder="user" id="user">
<input type="password" name="pass" placeholder="password" id="pass">
<input type="checkbox" id="remember" checked><br/><br/>
<input type="submit" id="sub">
</form>
</body>
<script type="text/javascript">
$(document).ready(function(){
var strName = localStorage.getItem('keyName');
var strPass = localStorage.getItem('keyPass');
if(strName){
$('#user').val(strName);
}if(strPass){
$('#pass').val(strPass);
}
});
function loginBtn_click(){
var strName = $('#user').val();
var strPass = $('#pass').val();
localStorage.setItem('keyName',strName);
if($('#remember').is(':checked')){
localStorage.setItem('keyPass',strPass);
alert("記住密碼");
}else{
localStorage.removeItem('keyPass');
alert("部記住密碼");
}
window.location.reload();
}
</script>
</html>
三.localStorage的基本用法:
setItem存儲value 用途:將value存儲到key字段 用法:.setItem( key, value) 代碼示例: localStorage.setItem("site", "js8.in"); getItem獲取value 用途:獲取指定key本地存儲的值 用法:.getItem(key) 代碼示例: var site = localStorage.getItem("site"); removeItem刪除key 用途:刪除指定key本地存儲的值 用法:.removeItem(key) 代碼示例: localStorage.removeItem("site"); clear清除所有的key/value 用途:清除所有的key/value 用法:.clear() 代碼示例: localStorage.clear();
原文地址:
其他資料:
