HTML5中的Web Storage(sessionStorage||localStorage)理解與簡單一實例

來源:互聯網
上載者:User

標籤:html5

Web Storage是什嗎?
  Web Storage功能,顧名思義,就是在Web上針對用戶端本地儲存資料的功能,具體來說Web Storage分為兩種;

sessionStorage:
  將資料儲存在session對象中,所謂session是指使用者在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是使用者瀏覽這個網站所花費的時間。session對象可以用來儲存在這段時間內所要求儲存的任何資料。


localStorage:
  將資料儲存在用戶端本地的硬體裝置(通常指硬碟,當然可以是其他的硬體裝置)中,即是瀏覽器被關閉了,該資料仍然存在,下次開啟瀏覽器訪問網站時,仍然可以繼續使用。


sessionStorage與localStorage區別:
  這兩者的區別在於sessionStorage為臨時儲存,而localStorage為永久儲存,下一節,我們將結合執行個體深入學習! 為什麼要引出webStorage?原因是: cookies儲存永久資料存在一下幾個問題:
1、cookies的大小被限制在4KB;
2、cookies是隨HTTP事務一起發送的,因此會浪費一部分發送cookies時所使用的頻寬;
3、cookies操作繁瑣複雜; 
 1、1 SessionStorage:
  將資料儲存在session對象中,所謂session是指使用者在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間會話,也就是使用者瀏覽這個網站所花費的時間就是session的生命週期。session對象可以用來儲存在這段時間內所要求儲存的任何資料。

此對象主要有兩個方法:
儲存資料:sessionStorage.setItem(Key, value);
讀取資料:sessionStorage.getItem(Key);
Key:表示你要存入的鍵名稱,此名稱可以隨便命名,可以按照變數的意思來理解。
Value:表示值,也就是你要存入Key中的值,可以按照變數賦值來理解。

使用方法:
儲存資料:sessionStorage.setItem("website", "W3Cfuns.com");
讀取資料:sessionStorage.getItem("website");

exaple: <! DOCTYPE  HTML>
< html>
    < head>
        < meta  charset="utf-8">
        < title>本機存放區SessionStorage</ title>
        < script  type="text/javascript">
                window. onload = function()
                {
                        alert("當你關閉此頁面或者關閉瀏覽器的時候,sessionStorage中儲存的資料才會消失,也就是說重新開啟此頁面的時候,點擊擷取資料,將不會顯示任何資料,重新整理頁面無效。\r\n由此可以證明,sessionStorage的生命週期為,某個使用者瀏覽網站時,從進入到離開的這段時間。")  
                        //首先獲得 body中的3個 input元素
                         var msg =  document.getElementById("msg");
                         var getData =  document.getElementById("getData");
                         var setData =  document.getElementById("setData");
                        setData. onclick = function(){//存入資料
                                if(msg. value){
                                        sessionStorage.setItem("data", msg. value);
                                        alert("資訊已儲存到data欄位中");
                                }else{
                                        alert("資訊不可為空");
                                }
                        }  
                        getData. onclick = function(){//擷取資料
                                 var msg = sessionStorage.getItem("data");
                                if(msg){
                                        alert("data欄位中的值為:" + msg);
                                }else{
                                        alert("data欄位無值!");
                                }
                        }
                }
        </ script>
    </ head>
    < body>
        < input  id="msg"  type="text"/>
        < input  id="setData"  type="button"  value="儲存資料"/>
        < input  id="getData"  type="button"  value="擷取資料"/>
    </ body>
</ html>
1、2 LocalStorage:
使用方法與SessionStorage如出一轍,如下代碼所示:
此對象主要有兩個方法:
儲存資料:localStorage.setItem(Key, value);
讀取資料:localStorage.getItem(Key);
Key:表示你要存入的鍵名稱,此名稱可以隨便命名,可以按照變數的意思來理解。
Value:表示值,也就是你要存入Key中的值,可以按照變數賦值來理解。

使用方法:
儲存資料:localStorage.setItem("website", "W3Cfuns.com");
讀取資料:localStorage.getItem("website");exaple: <! DOCTYPE  HTML>
< html>
    < head>
        < meta  charset="utf-8">
        < title>本機存放區LocalStorage</ title>
        < script  type="text/javascript">
                window. onload = function()
                {
                        alert("當你關閉此頁面或者關閉瀏覽器的時候,localStorage中儲存的資料才會消失,也就是說重新開啟此頁面的時候,點擊擷取資料,可以取到資料。")
                        //首先獲得 body中的3個 input元素
                         var msg =  document.getElementById("msg");
                         var getData =  document.getElementById("getData");
                         var setData =  document.getElementById("setData");
                        setData. onclick = function(){//存入資料
                                if(msg. value){
                                        localStorage.setItem("data", msg. value);
                                        alert("資訊已儲存到data欄位中");
                                }else{
                                        alert("資訊不可為空");
                                }
                        } 
                        getData. onclick = function(){//擷取資料
                                 var msg = localStorage.getItem("data");
                                if(msg){
                                        alert("data欄位中的值為:" + msg);
                                }else{
                                        alert("data欄位無值!");
                                }
                        }
                }
        </ script>
    </ head>
    < body>
        < input  id="msg"  type="text"/>
        < input  id="setData"  type="button"  value="儲存資料"/>
        < input  id="getData"  type="button"  value="擷取資料"/>
    </ body>
</ html>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.