客戶端儲存之storage

2021-08-29 03:58:51 字數 2312 閱讀 4091

storage是一種web儲存機制(實現客戶端儲存的一種方式)

storage的目的是克服由cookie儲存所帶來的限制——當資料需要被嚴格控制在客戶端而無需持續的將資料傳送回伺服器。其主要實現兩個目標:

1.提供一種cookie之外的儲存會話資料的途徑

2.提供一種儲存大量可以跨會話存在的資料的機制

在window物件下有乙個storage建構函式,而localstorage與sessionstorage都是storage的例項,因此localstorage與sessionstorage實質都是物件。你可以在控制台列印看看:

localstorage與sessionstorage都是window下的全域性物件,直接使用即可

本篇文章主要就是學習localstorage與sessionstorage

怎麼通過localstorage在客戶端訪問資料?

有兩種方式實現:

前面已經說了——localstorage實際上就是乙個物件。因此我們像平時訪問物件的資料那樣,便能通過localstorage在客戶端訪問資料了。如下:

我們同樣可以通過屬性訪問表示式去獲取值,如:

var sentence = localstorage.sentence;
除此之外,通過屬性訪問表示式也能更改相關屬性的值(因為localstorage本身為物件,因此其具有物件的特點)。但是我們一般不通過delete去刪除儲存的內容,而應使用其提供的api,下面會說到。

在storage中提供了專門的增刪改查方法

1.setitem(key,value)——將對應的鍵值傳入,可實現資料儲存

2.getitem(key)——將鍵傳入,可以獲取對應的資料

3.removeitem(key)——將鍵傳入,可以刪除對應資料

4.clear()——無引數,用於刪除所有儲存的資料

5.key(0~length-1的值)——獲取對應位置的鍵,再結合其他方法實現相應操作

localstorage.setitem('x',1);//以x的名字儲存乙個數值

localstorage.getitem('x');//獲取數值

//列舉所有儲存的資料

for(var i = 0; i < localstorage.length; i++)

localstorage.removeitem('x');//刪除x項

localstorage.clear();//全部刪除

localstorage的儲存有效期

通過localstorage儲存的資料是永久的,除非web應用刻意刪除儲存的資料,或者使用者通過設定瀏覽器的配置來刪除,否則,資料將一直儲存在電腦上,永不過期

localstorage的作用域

由於localstorage受同源策略的限制。因此,同源的文件間共享同樣的localstorage資料。他們可以互相讀取對方的資料,甚至可以覆蓋對方的資料。

但是不同源的兩個文件都不能操作對方的資料

怎麼通過sessionstorage在客戶端訪問資料?

sessionstorage訪問資料的方式同localstorge

sessionstorage的儲存有效期

一旦瀏覽器視窗關閉,或頁面所在標籤頁被關閉,那麼sessionstorage資料也會隨之被刪除

sessionstorage的作用域

1.由於sessionstorage也受同源策略限制,因此,同localstorage一樣,非同源的文件是不能訪問對方資料的

2.不僅如此,sessionstorage的作用域還被限制在標籤頁中。即如果同源文件渲染在不同的標籤頁中,那麼兩者不能共享sessionstorage資料

這兒有以下兩點需要注意:

一:在乙個文件中通過iframe嵌入另乙個同源的文件,那麼這兩個文件是能夠共享sessionstorage資料的。因為其同源,而且還位於同乙個標籤頁中

二:如果乙個標籤頁中包含兩個iframe標籤,他們所包含的文件是同源的,那麼這兩者之間是能夠共享sessionstorage的。因為其同源,而且還位於同乙個標籤頁中

客戶端儲存

他們的區別在儲存的有效期和作用域 localstorage儲存是永久性的,作用域是同源文件.同源文件由三個方面確定.埠號,協議,主機名.同樣也受限於瀏覽器廠家,不同瀏覽器廠家之間的localstorage是不能互享的.sessionstorage的儲存性是和頂層標籤是同步的,如果頂層標籤關閉,那麼s...

客戶端儲存

客戶端儲存 由於http協議是無狀態路的協議,其無法記住使用者的狀態,所以就有了客戶端儲存用來記錄使用者的狀態。同樣的客戶端儲存也是遵守同源策略,所以不同站點的頁面是無法讀取對方儲存的資料 有oatuh2.0 用來跨站登入的,即qq互聯這種登入方式。用於進行登入的很大都是用時序圖進行繪製的。儲存。安...

客戶端儲存

瀏覽器儲存在開發中經常用到,比如在多頁面應用的模型中,會將使用者的頁面歷史記錄儲存在本地,頁面前進時,在本地新增一條歷史記錄,頁面返回時,刪除最後一條歷史記錄,再訪問最後一條歷史記錄 盒端的返回規則並不像標準瀏覽器這麼規範,也沒有後退按鈕,不同廠家的盒子,系統對返回處理邏輯不同,一般自己處理頁面的返...