1. 程式人生 > >關於localStorage的一點認識

關於localStorage的一點認識

引言

在HTML5出現之前,為了儲存使用者在網站中一些操作狀態,以便於下次開啟頁面時恢復到上次訪問時的一些狀態,在瀏覽器端常常使用Cookie來儲存一些資訊。最典型的應用是判斷使用者是否登入過網站。但是,Cookie的大小受限,每個Cookie的大小不超過4KB,瀏覽器一般只允許存放300個Cookie,而且Cookie也存在安全性問題。
於是,HTML5為我們帶來了全新的本地儲存方式:localStorage,有5M大小,而且從IE8就開始支援了。也就是說IE6、7是不支援localStorage的,Cookie可以成為IE6、7下的一種替代方案。

API

   //獲取鍵值對數量
    localStorage.length()
    //讀取
    localStorage.getItem('key')
   // 新增/修改
    localStorage.setItem('key','value')
   // 刪除對應鍵值
    localStorage.removeItem('key')
    //刪除所有資料
    localStorage.clear()

有效期和作用域

localStorage儲存的資料是永久性的,其作用域限定在文件源級別(只要URL的協議、埠、主機名三者中有一個不同,就屬於不同的文件源)。除此之外,localStorage也受瀏覽器限制,如果使用chrome訪問一個網站,下次用firefox再次訪問是獲取不到上次儲存的資料的。

例項使用

localStorage 存的值經小編測試應該是要求是字串型別,如果從後臺獲取的json資料不經過jsonstringify()轉換,或者使用JQ中的string()或 .tostring()函式,會發現存不進去的。
如下:
在這裡插入圖片描述

獲取直接使用對應的API

 var token = localStorage.getItem('token');

在瀏覽器中按f12,使用F12除錯工具,可以檢視到localStorage中的儲存資訊
在瀏覽器中可以按f12檢視token

如果有的話,說明儲存成功,之後在localStorage作用域下都可以直接用getItem()取出token了