H5-Web存储API使用

 1 <!DOCTYPE html>
 2 <html>
 3  <head>
 4   <title>sessionStorage实现记事本功能</title>
 5   <meta charset="utf-8" />
 6  </head>
 7
 8  <body>
 9   <input type="text" id="note"><br>
10   <input type="button" id="save" value="保存">
11   <input type="button" id="read" value="读取">
12   <input type="button" id="del" value="删除">
13   <script>
14     // 当用户在文本框中输入内容,点击"保存"按钮,进行保存(sessionStorage)
15     // 1. 获取button按钮
16     var save = document.getElementById("save");
17     // 2. 为button按钮绑定click事件
18     save.onclick = function(){
19         // 3. 获取用户输入的内容
20         var data = document.getElementById("note").value;
21         // * 存储数据使用key是唯一,不可重复
22         var key = new Date().getTime();
23         // 4. 利用sessionStorage进行存储
24         window.sessionStorage.setItem(key,data);
25     }
26     // 用户点击"读取"按钮,将所有数据进行读取
27     var read = document.getElementById("read");
28     read.onclick = function(){
29         // 获取当前sessionStorage存储系统的所有数据个数
30         var sum = sessionStorage.length;
31         // 遍历所有数据
32         for(var i=0;i<sum;i++){
33             // i是索引值 - 得到key(key(index))
34             var key = sessionStorage.key(i);
35             // 根据key得到对应的value
36             var value = sessionStorage.getItem(key);
37
38             console.log(value);
39         }
40     }
41     // 用户点击"删除"按钮,删除所有数据
42     var del = document.getElementById("del");
43     del.onclick = function(){
44         /*
45         var sum = sessionStorage.length;
46         // 当删除第一个数据,第二个数据的索引值-1
47         for(var i=sum-1;i>=0;i--){
48             var key = sessionStorage.key(i);
49             sessionStorage.removeItem(key);
50         }*/
51         sessionStorage.clear();
52     }
53   </script>
54  </body>
55 </html>
  1 <!DOCTYPE html>
  2 <html>
  3  <head>
  4   <title>记事本案例</title>
  5   <meta charset="utf-8" />
  6  </head>
  7
  8  <body>
  9   <textarea id="note"></textarea><br>
 10   <input type="button" id="add" value="新增">
 11   <input type="button" id="save" value="保存">
 12   <input type="button" id="read" value="读取">
 13   <input type="button" id="update" value="修改">
 14   <input type="button" id="dele" value="删除">
 15   <input type="button" id="clear" value="清空">
 16   <br><br>
 17   <div id="show"></div>
 18   <!-- 隐藏域-用户看不到 -->
 19   <input type="hidden" id="mykey">
 20   <script>
 21     /*
 22      * 需求分析
 23      * * 新增 - 清空textarea元素中的所有内容
 24      * * 保存 - 保存用户输入的内容
 25      * * 读取 - 读取保存的所有数据内容
 26      *   * 显示在页面中(表格-第一列为单选框)
 27      * * 修改 - 修改指定数据内容
 28      *   * 必须选择其中一条数据
 29      * * 删除 - 删除指定数据内容
 30      *   * 必须选择其中一条数据
 31      * * 清空 - 将保存的所有数据删除
 32      */
 33     // 1. 获取页面中所有按钮
 34     var add = document.getElementById("add");
 35     var save = document.getElementById("save");
 36     var read = document.getElementById("read");
 37     var update = document.getElementById("update");
 38     var dele = document.getElementById("dele");
 39     var clear = document.getElementById("clear");
 40
 41     var note = document.getElementById("note");
 42
 43     var mykey = document.getElementById("mykey");
 44     // 2. 为所有按钮绑定click事件
 45     // 新增
 46     add.onclick = function(){
 47         note.value = "";
 48         alert("新建一个记事本.");
 49     }
 50     // 保存
 51     save.onclick = function(){
 52         // 1. 获取用户输入内容
 53         var value = note.value;
 54         // 获取hidden元素的value属性值
 55         var key = mykey.value;
 56         // 判断是新增还是修改
 57         if(!key){// 新增
 58             // 2. 创建key - 唯一
 59             key = new Date().getTime();
 60         }
 61         // 3. 保存数据内容
 62         sessionStorage.setItem(key,value);
 63         alert("已经保存成功.");
 64     }
 65     // 读取 - 所有数据
 66     read.onclick = readDatas;
 67     function readDatas(){
 68         // 获取div元素
 69         var show = document.getElementById("show");
 70         // 利用string拼完整的HTML代码
 71         var myhtml = "<table border=‘1‘><tbody><tr><td></td><td>key</td><td>value</td></tr>";
 72         // 1. 获取所有数据的个数
 73         var sum = sessionStorage.length;
 74         // 2. 遍历所有数据
 75         for(var i=0;i<sum;i++){
 76             // 3. 根据索引值得到key
 77             var key = sessionStorage.key(i);
 78             // 4. 根据key得到value
 79             var value = sessionStorage.getItem(key);
 80
 81             myhtml += "<tr><td><input type=‘radio‘ name=‘mydatas‘ value=‘"+i+"‘></td><td>"+key+"</td><td>"+value+"</td></tr>";
 82         }
 83         myhtml += "</tbody></table>";
 84         // 将完整的HTML代码插入在div中
 85         show.innerHTML = myhtml;
 86     }
 87     // 修改
 88     update.onclick = function(){
 89         // 1. 获取用户选择那条记录
 90         var radios = document.getElementsByName("mydatas");
 91         for(var i=0;i<radios.length;i++){
 92             var radio = radios[i];
 93             if(radio.checked){
 94                 // 获取当前单选框的value属性值(索引值)
 95                 var index = radio.value;
 96                 // 2. 将对应的key和value值得到
 97                 var key = sessionStorage.key(index);
 98                 var value = sessionStorage.getItem(key);
 99                 // 3. 将得到的value值,写入到textarea中
100                 note.value = value;
101                 // 4. 将读取的key值,写入到hidden元素的value属性值
102                 mykey.value = key;
103             }
104         }
105     }
106     // 删除
107     dele.onclick = function(){
108         var radios = document.getElementsByName("mydatas");
109         for(var i=0;i<radios.length;i++){
110             var radio = radios[i];
111             if(radio.checked){
112                 var index = radio.value;
113                 var key = sessionStorage.key(i);
114                 sessionStorage.removeItem(key);
115                 break;
116             }
117         }
118         // 重新执行查询操作
119         readDatas();
120         alert("该条记录成功删除.");
121     }
122     // 清空
123     clear.onclick = function(){
124         sessionStorage.clear();
125         alert("数据已清空.");
126     }
127   </script>
128  </body>
129 </html>
 1 <!DOCTYPE html>
 2 <html>
 3  <head>
 4   <title>localStorage的特点</title>
 5   <meta charset="utf-8" />
 6  </head>
 7
 8  <body>
 9   <input type="text" id="note"><br>
10   <input type="button" id="save" value="保存">
11   <input type="button" id="read" value="读取">
12   <input type="button" id="del" value="删除">
13   <script>
14     // 当用户在文本框中输入内容,点击"保存"按钮,进行保存(sessionStorage)
15     // 1. 获取button按钮
16     var save = document.getElementById("save");
17     // 2. 为button按钮绑定click事件
18     save.onclick = function(){
19         // 3. 获取用户输入的内容
20         var data = document.getElementById("note").value;
21         // * 存储数据使用key是唯一,不可重复
22         var key = new Date().getTime();
23         // 4. 利用localStorage进行存储
24         window.localStorage.setItem(key,data);
25     }
26     // 用户点击"读取"按钮,将所有数据进行读取
27     var read = document.getElementById("read");
28     read.onclick = function(){
29         // 获取当前localStorage存储系统的所有数据个数
30         var sum = localStorage.length;
31         // 遍历所有数据
32         for(var i=0;i<sum;i++){
33             // i是索引值 - 得到key(key(index))
34             var key = localStorage.key(i);
35             // 根据key得到对应的value
36             var value = localStorage.getItem(key);
37
38             console.log(value);
39         }
40     }
41     // 用户点击"删除"按钮,删除所有数据
42     var del = document.getElementById("del");
43     del.onclick = function(){
44         localStorage.clear();
45     }
46   </script>
47  </body>
48 </html>
时间: 2024-10-07 23:10:51

H5-Web存储API使用的相关文章

Html5之高级-13 Web存储API (两个存储系统、sessionStorage、localStorage)

一.两个存储系统 两个存储系统 - 万维网最初的设想,是作为展示信息的一种方式.信息处理是后来才出现的,但是Web的实质并没有变---信息在服务器上处理,然后显示给用户.因为系统没有利用计算机资源,所以复杂操作都是在服务器上完成的 - 对于任何程序来说,能够实现数据存储是必备功能之一,并且在需要的时候能够提供数据.但在过去的Web用户端,没有能够支持数据存储的有效机制 - cookie曾用来在客户端存储少量信息,但受其性质所限,cookie只能存储一些短的字符串 - 在 HTML5中提供了 We

H5 web 存储之 Webstorage

H5提供了两种在客户端存储数据的方式:localStorage 持久化的本地存储(浏览器关闭重新打开数据依然存在)sessionStorage 针对一个session的本地存储之前这些都是由cookie来完成的,cookie的特点是存储量小,在服务器和客户端之间来回传递,传输效率不高.一般可以在判断注册的用户是否登录该本网站.webStorage API 继承于Window对象,并提供了两个新的属性-Window.localStorage 和 Window.sessionStorage.webS

客户端存储之HTML5 web存储

最近在学习如何实现客户端存储,这篇文章将主要分析H5的web storage以及它与传统的cookie之间的区别. web存储与cookie的区别以及优势: 1.cookie只适合存储少量文本数据,而web存储可存储大量数据 2.以cookie存储的数据,无论服务器端是否需要,每次HTTP请求时,都会将cookie数据传送到服务端,有时会造成带宽浪费,而web storage 中的数据只会存储在本地 3.web storage有更加丰富易用的接口,比如setItem().getItem().re

H5本地存储(转)

H5本地存储 一.本地存储由来的背景 众所周知Html4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了Cookie只能存储一些ID之类的标识符等简单的数据,复杂的数据就更别扯了. 下面是Cookie的限制: 关闭浏览器再打开可读到 1, 大多数浏览器支持最大为 4096 字节的 Cookie. 2, 浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量.大多数浏览器只允许每

h5 本地存储

H5本地存储有两个API,一个是Web Storage,还有一个是Web SQL.不管是哪一个,都是基于JavaScript语言来使用,接下来我就教你怎么使用H5本地存储,本文篇幅较大,JS代码较多,请耐心阅读. 一.Web Storage教程 1.概述: 对于Web Storage来说,实际上是Cookies存储的进化版.如果了解Cookie的人几乎一看Web Storage就会用,如果你从来没用过没了解过Cookie,没关系,看了这篇文章照样轻松玩转Web Storage.首先,学习Web

【温故而知新-Javascript】使用Web存储

Web存储允许我们在浏览器里保存简单的键/值数据.Web存储和cookie很相似,但它有着更好的实现方式,能保存的数据量也很大.这两种类型共享相同的机制,但是被保存数据的可见性和寿命存在区别. PS:还有一种存储规范名为“索引数据库API”(Indexed Database API),它允许保存富格式数据和进行SQL风格的查询. 1.使用本地存储 我们可以通过全局属性 localStorage访问本地存储功能.这个属性会返回一个Storage 对象,下表对其进行了介绍.Storage 对象被用来

离线web存储

本地缓存与浏览器网页的缓存 本地缓存与浏览器网页缓存的区别 离线缓存需要 本地缓存web应用程序的所有html css. js 文件本地缓存服务于整个web应用 浏览器网页缓存只服务于单个网页, 任何网页都具有缓存,而本地缓存只缓存你指定缓存的网页.网页缓存不安全.不可靠,我们不知道网站中缓存了哪些网页,缓存了哪些网页上的资源.本地缓存是可靠,我们可以控制对那些没内容进行缓存,开发人员还可用编程的手段来控制缓存的更新,利用缓存对象的属性.状态事件开发更强大的离线web应用. manifest文件

HTML5 02. 多媒体控件、拖拽事件、历史记录、web存储、应用程序缓存、地理定位、网络状态

多媒体 video:是行内块(text-align: center; 对行内块适用) <figure></figure>: 多媒体标签 : <figcaption></figcaption>: 多媒体标题 方法: load() 加载.play()播放.pause()暂停 属性: currentTime 视频播放的当前进度. duration:视频的总时间. paused:视频播放的状态 事件:   oncanplay:事件在用户可以开始播放视频/音频(aud

web存储之webstorage

web存储分类 客户端和服务端 认识web存储 随着web应用的发展,是的客户端存储的用途越来越多,然而实现客户端端存储的方式也是越来越多样化.最简单最兼容的方式就是cookie,但作为真正的客户端存储cookie还是存在着许许多多的弊端的.同时,各种浏览器也有属于自己的存储方式.例如,IE6以及以上版本中可以使用userData Behavior,在Firefox中可以使用globalStorage,而在Flash插件还可以使用Flash Local Storage,但是这几种方式存在着兼容性

【高级功能】使用Web存储

Web存储允许我们在浏览器里保存简单的键/值数据.Web存储和cookie很相似,但它有着更好的实现方式,能保存的数据量也很大.这两种类型共享相同的机制,但是被保存数据的可见性和寿命存在区别. PS:还有一种存储规范名为“索引数据库API”(Indexed Database API),它允许保存富格式数据和进行SQL风格的查询. 1.使用本地存储 我们可以通过全局属性 localStorage访问本地存储功能.这个属性会返回一个Storage 对象,下表对其进行了介绍.Storage 对象被用来