Latest web development tutorials

HTML5 Web 存儲

HTML5 web 存儲,一個比cookie更好的本地存儲方式。


什麼是HTML5 Web 存儲?

使用HTML5可以在本地存儲用戶的瀏覽數據。

早些時候,本地存儲使用的是cookies。 但是Web 存儲需要更加的安全與快速. 這些數據不會被保存在服務器上,但是這些數據只用於用戶請求網站數據上.它也可以存儲大量的數據,而不影響網站的性能.

數據以鍵/值對存在, web網頁的數據只允許該網頁訪問使用。


瀏覽器支持

Internet ExplorerFirefoxOperaGoogle ChromeSafari

Internet Explorer 8+, Firefox, Opera, Chrome, 和Safari支持Web 存儲。

注意: Internet Explorer 7及更早IE版本不支持web存儲.


localStorage 和sessionStorage

客戶端存儲數據的兩個對象為:

  • localStorage - 沒有時間限制的數據存儲
  • sessionStorage - 針對一個session 的數據存儲

在使用web 存儲前,應檢查瀏覽器是否支持localStorage 和sessionStorage:

if ( typeof ( Storage ) !== " undefined " ) { // 是的!支持localStorage sessionStorage對象! // 一些代碼..... } else { // 抱歉!不支持web存儲。 }


localStorage 對象

localStorage 對象存儲的數據沒有時間限制。 第二天、第二週或下一年之後,數據依然可用。

實例

localStorage . lastname = " Smith " ; document . getElementById ( " result " ) . innerHTML = " Last name: " + localStorage . lastname ;

嘗試一下»

實例解析:

  • 使用key="lastname" 和value="Smith" 創建一個localStorage 鍵/值對
  • 檢索鍵值為"lastname" 的值然後將數據插入id="result"的元素中

提示:鍵/值對通常以字符串存儲,你可以按自己的需要轉換該格式。

下面的實例展示了用戶點擊按鈕的次數. 代碼中的字符串值轉換為數字類型:

實例

if ( localStorage . clickcount ) { localStorage . clickcount = Number ( localStorage . clickcount ) + 1 ; } else { localStorage . clickcount = 1 ; } document . getElementById ( " result " ) . innerHTML = " 你已經點擊了按鈕 " + localStorage . clickcount + " " ;

嘗試一下»


sessionStorage 對象

sessionStorage 方法針對一個session 進行數據存儲。 當用戶關閉瀏覽器窗口後,數據會被刪除。

如何創建並訪問一個sessionStorage::

實例

if ( sessionStorage . clickcount ) { sessionStorage . clickcount = Number ( sessionStorage . clickcount ) + 1 ; } else { sessionStorage . clickcount = 1 ; } document . getElementById ( " result " ) . innerHTML = " 在這個會話中你已經點擊了該按鈕 " + sessionStorage . clickcount + " " ;

嘗試一下»