我的家園

          我的家園

          HTML5 Web Storage示例

          Posted on 2012-04-15 16:37 zljpp 閱讀(249) 評論(0)  編輯  收藏

          一、 DEMO HTML代碼

          上一次介紹了HTML5 Web Storage存儲機(jī)制,原來必須保存在服務(wù)端數(shù)據(jù)庫中的內(nèi)容現(xiàn)在可以直接保存在客戶端本地了,這不僅可以減輕了服務(wù)器數(shù)據(jù)訪問的負(fù)擔(dān),同時也提高了數(shù)據(jù)的訪問速度。請將下面的代碼復(fù)制到html文件中,我們通過示例來了解Web Storage。

          <!DOCTYPE HTML>
          <html>
          <head>
          <meta charset="utf-8">
          <title>HTML5 Web Storage示例</title>
          <script type="text/javascript" src="JS/webstoragescript.js">
          </script>
          </head>
          <body>
          <div>
          <h2>sessionStorage示例</h2>
          <p id="sessionMsg"></p>
          <input type="text" id="sessionInput">
          <input type="button" value="保存數(shù)據(jù)" onClick="savesessionStorage('sessionInput');">
          <input type="button" value="讀取數(shù)據(jù)" onClick="loadsessionStorage('sessionMsg');">
          <br />
          <h2>localStorage示例</h2>
          <p id="localMsg"></p>
          <input type="text" id="localInput">
          <input type="button" value="保存數(shù)據(jù)" onClick="savelocalStorage('localInput');">
          <input type="button" value="讀取數(shù)據(jù)" onClick="loadlocalStorage('localMsg');">
          </div>
          </body>
          </html>

          上為DEMO HTML代碼

          當(dāng)我們點擊保存數(shù)據(jù)時,分別調(diào)用webstoragescript.js(代碼在文章后面)中的savesessionStorage和savelocalStorage方法,點擊讀取數(shù)據(jù)時分別調(diào)用loadsessionStorage和loadlocalStorage方法。

          讓我們打開JS腳本文件來看下,該腳本分別使用了sessionStorage和localStorage兩種方法。這兩種方法的HTML代碼只有p id和input id不同 ,都是當(dāng)用戶在input文本輸入內(nèi)容并點擊保存數(shù)據(jù)按鈕時保存數(shù)據(jù),點擊讀取數(shù)據(jù)時讀取保存的數(shù)據(jù)。

          但是他們對數(shù)據(jù)的處理方式都不一樣,sessionStorage方法如果關(guān)閉了瀏覽器,這個保存的數(shù)據(jù)就丟失,在一次打開瀏覽器瀏覽這個頁面的時候,點擊讀取數(shù)據(jù)將讀取不到任何數(shù)據(jù)。

          而localStorage則是瀏覽器被關(guān)閉,下次在打開瀏覽器瀏覽這個頁面點擊讀取數(shù)據(jù)時任然能讀取到保存的數(shù)據(jù)。當(dāng)然,這個數(shù)據(jù)是區(qū)分瀏覽器的,在別的瀏覽器中是讀取不到這個瀏覽器保存的數(shù)據(jù)的。

          二、兩種對象使用方法


          1.sessionStorage
          保存數(shù)據(jù):sessionStorage.setItem(key,value);
          讀取數(shù)據(jù):sessionStorage.getItem(key);


          2.localStorage
          保存數(shù)據(jù):localStorage.setItem(key,value);
          讀取數(shù)據(jù):localStorage.getItem(key);

          看上面的說明相信大家都能很快明白兩種對象的使用方法。但是,不管是使用哪個對象,都是用setItem(鍵名,鍵值)的方法來保存數(shù)據(jù),保存后不允許修改鍵名,但是可以修改鍵值也就是說只新建鍵名,再保存鍵值。使用getItem方法讀取數(shù)據(jù)時,將參數(shù)指定為鍵名,返回鍵值。

          // sessionStorage示例JS
          function savesessionStorage(id){
          var target= document.getElementById(id);
          var str=target.value;
          sessionStorage.setItem("message",str);
          }

          function loadsessionStorage(id){
          var target=document.getElementById(id);
          var msg=sessionStorage.getItem("message");
          target.innerHTML=msg;
          }

          // localStorage示例JS
          function savelocalStorage(id){
          var target= document.getElementById(id);
          var str=target.value;
          localStorage.setItem("message",str);
          }

          function loadlocalStorage(id){
          var target=document.getElementById(id);
          var msg=localStorage.getItem("message");
          target.innerHTML=msg;
          }

          webstoragescript.js代碼

          web storage

          火狐瀏覽器中的HTML5 Web Storage示例


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 祁东县| 资中县| 北海市| 沁阳市| 珲春市| 杭州市| 普安县| 方山县| 江油市| 略阳县| 永济市| 聊城市| 古蔺县| 六枝特区| 莎车县| 东丽区| 洪洞县| 翁牛特旗| 宜城市| 祁阳县| 垦利县| 三门峡市| 新建县| 新余市| 漾濞| 沾化县| 灯塔市| 夏河县| 竹山县| 翁牛特旗| 揭西县| 大余县| 甘孜县| 平顶山市| 北川| 嘉荫县| 炎陵县| 凤庆县| 格尔木市| 宁武县| 依兰县|