• web storage的用法


    Web Storage分为两种:

    •  sessionStorage
    •  localStorage

    从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地;

    这样做的好处是缓存数据和减少内存的占用;

    不管是sessionStorage,还是localStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

    • 保存数据:localStorage.setItem(key,value);
    • 读取数据:localStorage.getItem(key);
    • 删除单个数据:localStorage.removeItem(key);
    • 删除所有数据:localStorage.clear();
    • 得到某个索引的key:localStorage.key(index);

    如上,key和value都必须为字符串,换言之,web Storage的API只能操作字符串。

    这样做的好处有:

    1. 缓存数据

    2. 减少对内存的占用.

    对于localStorage的操作

    1.将对象存入到localStorage

    1 <script type="text/javascript">
    2     var obj = { name:'Jim' };
    3     var str = JSON.stringify(obj);
    4     //存入
    5     localStorage.obj = str;
    6 </script>

    2.从localStorage读取数据

     1 <script type="text/javascript">
     2     var obj = { name:'Jim' };
     3     var str = JSON.stringify(obj);
     4     //存入
     5     localStorage.obj = str;
     6     //读取
     7     str = localStorage.obj;
     8     document.write(str);
     9     //重新转换为对象
    10     obj = JSON.parse(str);
    11 </script>

    3.例子

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4     <title>Example</title>
     5     <style>
     6         body > * {
     7             float: left;
     8         }
     9 
    10         table {
    11             border-collapse: collapse;
    12             margin-left: 50px;
    13         }
    14 
    15         th, td {
    16             padding: 4px;
    17         }
    18 
    19         th {
    20             text-align: right;
    21         }
    22 
    23         input {
    24             border: thin solid black;
    25             padding: 2px;
    26         }
    27 
    28         label {
    29             min- 50px;
    30             display: inline-block;
    31             text-align: right;
    32         }
    33 
    34         #countmsg, #buttons {
    35             margin-left: 50px;
    36             margin-top: 5px;
    37             margin-bottom: 5px;
    38         }
    39     </style>
    40 </head>
    41 <body>
    42     <div>
    43         <div>
    44             <label>Key:</label><input id="key" placeholder="Enter Key" />
    45         </div>
    46         <div>
    47             <label>Value:</label><input id="value" placeholder="Enter Value" />
    48         </div>
    49         <div id="buttons">
    50             <button id="add">Add</button>
    51             <button id="clear">Clear</button>
    52         </div>
    53         <p id="countmsg">There are <span id="count"></span>items</p>
    54     </div>
    55     <table id="data" border="1">
    56         <tr>
    57             <th>Item Count:</th>
    58             <td id="count">-</td>
    59         </tr>
    60     </table>
    61     <script>
    62         displayData();
    63         var buttons = document.getElementsByTagName("button");
    64         for (var i = 0; i < buttons.length; i++) {
    65             buttons[i].onclick = handleButtonPress;
    66         }
    67         function handleButtonPress(e) {
    68             switch (e.target.id) {
    69                 case 'add':
    70                     var key = document.getElementById("key").value;
    71                     var value = document.getElementById("value").value;
    72                     sessionStorage.setItem(key, value);
    73                     break;
    74                 case 'clear':
    75                     sessionStorage.clear();
    76                     break;
    77             }
    78             displayData();
    79         }
    80         function displayData() {
    81             var tableElement = document.getElementById('data');
    82             tableElement.innerHTML = '';
    83             var itemCount = sessionStorage.length;
    84             document.getElementById('count').innerHTML = itemCount;
    85             for (var i = 0; i < itemCount; i++) {
    86                 var key = sessionStorage.key(i);
    87                 var val = sessionStorage.getItem(key);
    88                 tableElement.innerHTML += "<tr><th>" + key + ":</th><td>" + val + "</td></tr>";
    89             }
    90         }
    91     </script>
    92 </body>
    93 </html>
  • 相关阅读:
    各大网站收录、搜索引擎的提交入口
    个性注释
    css3 content 生成内容
    C# 的三种序列化方法
    C# 文件下载四方法
    AngularJS 預設模組 select 標籤的 ngOptions 參數用法
    null与undefined
    第三次作业--林枫
    第二次作业--林枫
    第一次作业--林枫
  • 原文地址:https://www.cnblogs.com/lgx5/p/14255030.html
Copyright © 2020-2023  润新知