首先做一個提交到本地存儲的表單及一個用來顯示本地localStorage信息的表格…代碼如下:
<h2> 本地存儲用 </h2>標題: <input id="title" name="title" type="text" size="60" style="margin-left:32px;margin-bottom:5px;"/> <br />事件信息: <textarea id="content" name="content" cols="50" rows="8"> </textarea> <br />添加人:<input id="user" name="user" type="text" style="margin-left:22px;margin-bottom:5px;"/> <br /><input type="button" value="添加事件" onclick="addMsg();" /><input type="button" value="清除事件" onclick="clearMsg();" /><hr /><table style="width: 800px;border:1px solid black;"><tr><th>標題</th><th>事件內容</th><th>添加人</th><th>添加事件</th></tr><tbody id="show" style="text-align:center;"></tbody></table>
效果如下:
檢查一下瀏覽器的本地存儲:(google (F12))
接下來添加功能
點擊添加事件,會把信息傳遞到瀏覽器的localStorage中.
點擊清除事件,會被本地的值都刪除.
代碼如下:
var loadMsg = function(){var tb = document.getElementById("show");tb.innerHTML = "";for(var i = 0, j = 0; i< localStorage.length; i++){var key = localStorage.key(i);if(key.indexOf('_fk') == 0){var date = new Date();date.setTime(key.substring(3));var datestr = date.toLocaleDateString()+ " " + date.toLocaleTimeString();var msgStr = localStorage[key];var msg = JSON.parse(msgStr);var row = tb.insertRow(j++);row.insertCell(0).innerHTML = msg.title;row.insertCell(1).innerHTML = msg.content;row.insertCell(2).innerHTML = msg.user;row.insertCell(3).innerHTML = datestr;}}}var addMsg = function(){var titleElement = document.getElementById("title");var contentElement = document.getElementById("content");var userElement = document.getElementById("user");var msg = {title: titleElement.value,content: contentElement.value,user: userElement.value}var time = new Date().getTime();localStorage['_fk' + time] =JSON.stringify(msg);titleElement.value = "";contentElement.value = "";userElement.value = "";alert("數據已保存.");loadMsg();}function clearMsg(){localStorage.clear();alert("全部事件信息已被清除");loadMsg();}window.onload = loadMsg();
點擊添加試試:
可以看見,在alert框彈出之后添加的內容出現了。
在打開調試臺看看.
可以看見本地存儲中確實存在,
可以嘗試關閉網頁后再打開…
數據還是存在…
參考《瘋狂H5+CSS3+JS講義》(第2版) P541~P542