localstorage 用於本地儲存,解決了cookie的儲存空間不足問題,cookie儲存空間一般為4k,而localstorage一般在瀏覽器分配的空間大小為5m,(不同的瀏覽器分配的儲存空間大小不等)。
localstorage與sessionstorage相比,生命週期更長,便於資料長期儲存。localstorage值型別限定為string;在瀏覽器隱私模式下是不可讀取的;(儲存內容過多會導致頁面卡頓);不會被爬蟲爬取!!
// localstorage寫入
var data =
;window.localstorage.
setitem
('dataname'
, data)
;//或者
localstorage.
setitem
('dataname'
, data)
;//localstorage讀取
var data2= window.localstorage.
getitem
("dataname");
//或者
var data2= localstorage.
getitem
("dataname"
);
index db是一種前端資料庫,代替了已經廢棄的web sql database,與localstorage相比,indexdb的儲存容量受全域性限制和組限制倆個元素的限制,但是對於一般前端需要儲存的資料已經足夠。
更多詳細的介面和規範到 **.檢視,在本文章只進行簡單的例子展示。
// indexdb初始化
init()
var idbopendbrequest = indexeddb.
open
('datalist',1
);idbopendbrequest.
onupgradeneeded
=(e)
=>);
// //指定可以被索引的字段,unique欄位是否唯一。型別: idbindex
objectstore.
createindex
('name'
,'name',)
; console.
log(
'資料庫版本更改為: '
+ e.version,
'倉庫1');
}}; idbopendbrequest.
onsuccess
=(e)
=>
; idbopendbrequest.
onerror
=function
(e);
},
注意:在indexeddb大部分操作並不是我們常用的呼叫方法——返回結果的模式,而是請求——響應的模式,也就是非同步api。
// 新增和修改資料,因為indexdb的修改資料是根據儲存的id修改,所以在此處筆者做了處理,當新增資料失敗的時候重新呼叫修改資料put方法。
adddata
(id,name,data));
request.
onsuccess
=function
(event)
;
request.
onerror
=function
(event));
mtobj.
onsuccess
=function
(event)
;
mtobj.
onerror
=function
(event)}}
;},
// 刪除資料 ,和修改方法一樣也是根據儲存的id去索引
deldata
(id,callback);
mtobj.
onerror
=function
(event)}}
,
// 讀取資料,根據儲存的id去索引
getdata
(id,callback);
myobj.
onerror
=function
(event)}}
,
建議將indexdb的方法封裝,以便以後專案的呼叫。
以下將展示vue的封裝和使用:
// an highlighted block
//將以上的方法封裝成db
constdb=
//暴露方法
export
//vue頁面引用
import
from
'indexdb封裝路徑'
//使用db.
init()
;db.adddata(1
,'xiaoge'
,function
(a));db
.deldata(1
,function
(a))db.
getdata
('xiaoge'
,function
(a))
為了解決介面非同步問題,在indexdb封裝的時候加入了callback方法,前端資料執行完畢呼叫callback(),頁面呼叫方法時,在function(a)中寫方法執行完的**。
最後提一句,indexdb的資料儲存型別分兩種:持久化儲存和臨時儲存!!!敲重點,臨時儲存達到儲存上限會直接刪除整個源資料,不會只刪除一部分,而是整個!!血淋淋的教訓,具體儲存型別使用在上文給的鏈結裡有介紹,在這就不介紹了。
localstorage原理與使用
首先自然是檢測瀏覽器是否支援本地儲存。在html5中,本地儲存是乙個window的屬性,包括localstorage和sessionstorage,從名字應該可以很清楚的辨認二者的區別,前者是一直存在本地的,後者只是伴隨著session,視窗一旦關閉就沒了。二者用法完全相同,這裡以localstor...
正規表示式與localStorage
本地儲存技術 localstorage ie8以下不相容 1 永久儲存 2 最大可以儲存5m 客戶端的乙個微型資料庫 3 只能儲存string cookie 1 可以設定過期時間 2 最大可以存4kb 3 每乙個網域名稱下面最多可以儲存50條資料 sessionstorage 結合後台使用 loca...
本地快取localstorage
cookie,localstorage,sessionstorage都可以實現客戶端儲存,三者的區別有哪些了?cookie作為最早期的被設計web瀏覽器儲存少量資料,從底層看,它是作為http協議的一種擴充套件實現。cookie資料會自動在web瀏覽器和web伺服器之間傳輸資料。cookie有效期 ...