一、localStorage是H5的新特性,主要用來本地存儲,通常瀏覽器支持的大小是5M,不一樣瀏覽器會有所不一樣,解決了cookie存儲空間不足的問題。javascript
二、使用:
⑴、存html
if(!window.localStorage){前端
alert("瀏覽器不支持localstorage");java
return false;jquery
}else{web
var storage = window.localStorage;json
// 方法1瀏覽器
storage["a"] = 1;安全
// 方法2服務器
storage.b = 1;
// 方法3 推薦
storage.setItem("c", 3);
console.log(typeof storage["c"]); // string int類型打印出來是string,localstorage只支持string類型的存儲
}
⑵、取
if(!window.localStorage){
alert("瀏覽器不支持localstorage")
}else{
var storage=window.localStorage;
// 方法1
var a=storage.a;
// 方法2
var b=storage["b"]
// 方法3 推薦
var c = storage.getItem("c");
}
⑶、修改
if(!window.localStorage){
alert("瀏覽器支持localstorage");
}else{
var storage=window.localStorage;
storage.b=1;
storage.b=4; // 直接修改
console.log(storage.b);
}
⑷、刪除
// 移除全部
localStorage.clear();
// 刪除某個鍵值對
localStorage.removeItem("a");
⑸、key()方法
for(i=0;i<storage.length;i++){
var key =storage.key(i);
console.log(key) // 獲取對應的鍵
}
⑹、存入爲JSON形式時,先轉爲json字符串
function setStorage () {
var str_username = $("#loginname").val();
var str_password = $("#password").val();
var storage=window.localStorage;
var data = {
username: str_username,
password: str_password
}
var d = JSON.stringify(data)
storage.setItem("data",d);
}
⑺、讀取後用轉爲JSON對象
//將JSON字符串轉換成爲JSON對象輸出
var json=storage.getItem("data");
var jsonObj=JSON.parse(json);
console.log(typeof jsonObj); // Object
三、侷限:
①、IE8以上才支持
②、瀏覽器會把localstorage的值類型限定爲string類型,JSON對象須要轉換。
③、本質上是存取字符串,存儲內容太多消耗空間,頁面變卡。
④、localStorage在瀏覽器的隱私模式下不可讀取
⑤、不能被爬蟲抓取
Cookie
讓網站服務器把少許數據儲存到客戶端的硬盤或內存,從客戶端的硬盤讀取數據的一種技術。
使用jquery.cookie.js
一、引入jquery.cookie.js
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.cookie.js"></script>
二、設置 "會話"cookie
$.cookie('username', 'xy');
cookie有效期默認到用戶關閉瀏覽器
三、設置有效時間
$.cookie('username', 'xy', { expires: 7 });
四、設置有效路徑
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });// 若是在整個網站中訪問這個cookie須要這樣設置有效路徑:path: '/'
五、讀取cookie
$.cookie('username')
注:cookie是基於域名來儲存的。意思您要放到測試服務器上或者本地localhost服務器上纔會生效。cookie具備不一樣域名下儲存不可共享的特性。單純的本地一個html頁面打開是無效的。
六、刪除cookie
$.cookie('username', null); //經過傳遞null做爲cookie的值便可
七、可選參數
$.cookie('the_cookie','the_value',{
expires:7, //(Number|Date)有效期;設置一個整數時,單位是天;也能夠設置一個日期對象做爲Cookie的過時日期;
path:'/', // (String)建立該Cookie的頁面路徑;
domain:'jquery.com', // (String)建立該Cookie的頁面域名;
secure:true // (Booblean)若是設爲true,那麼此Cookie的傳輸會要求一個安全協議,例如:HTTPS;
}) 更多資料,進羣領取 web前端互動交流羣,434623999