分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

HTML5新增web存储方式

发布时间:2023-09-06 01:12责任编辑:胡小海关键词:HTML

客户端存储数据的两个对象为:
两个对象在使用方式没有任何区别,唯一的不同点蚀储存数据 的有效时间
????????????①localStorage - 没有时间限制的数据存储 ??除非手动删除,否则数据将一直保存在本地文件;
????????????②sessionStorage - 针对一个 session 的数据存储 ?当浏览器关闭时,sessionStorage就被清空;
????????????
????????????在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:
??????????????[Storage的数据存储]
????????????1、Storage可以像普通对象一样,使用.追加或者读取最新的数据。
????????????eg:localStorage.username="张三";
????????????2、常用的函数
??????????????????????????????????保存数据:localStorage.setItem(key,value);
??????????????????????????????????读取数据:localStorage.getItem(key);
??????????????????????????????????删除单个数据:localStorage.removeItem(key);
??????????????????????????????????删除所有数据:localStorage.clear();
??????????????????????????????????得到某个索引的key:localStorage.key(index);

检测浏览器是否支持web存储

if(typeof(Storage)!=="undefined"){ ????????????alert("支持") ; ??????????????????????} else { ??????????alert("不支持") ???????????????????????}

                                                                                                         怎样新增一条数据?

1、 取到录入的各种信息
 2、 把这些信息封装成一个对象。
 3、 从本地文件中,读取出存储数据的数组字符串。并将字符串,转回数组格式。
 如果本地文件中,没有这个数组,就新建一个数组存放。
 4、 数组中,push进一个新组建的对象。
 5、 将新数组,重新转为字符串。把字符串丢回文件。
 6、 重新读取一边文件,重新加载表格。

                                                                                                                怎样新增一条数据?

1、 从文件中,读取出字符串,转回数组格式。
 2、 判断需要删除的是第几条数据。
 3、 删除掉数组对应的数据、splice
 4、 把新数组重新转为字符串,放回文件。
 5、 重新读取一边文件,重新加载表格。

例如:

 ???????<h4>新增网站</h4> ???????网站名:<input type="text" id="wangzhanming"/><br /> ???????别名: <input type="text" id="bieming"/><br /> ???????网址:<input type="text" id="wangzhi"/><br /> ???????<input type="button" value="新增网站" onclick="addSite()"/><br /> ???????<!--<input type="button" value="新增网站" onclick="showDia()" ?/>--> ???????<h4>网站登录</h4> ???????网站名:<input type="text" id="loginName"/><br /> ???????网址:<input type="text" id="loginPwd"/><br /> ???????<input type="button" value="登录网站" onclick="login()"/><br /> ???????????????<h4>已保存的网站</h4> ???????<input type="button" value="删除网站" onclick="delSite()" /> ???????<input type="text" placeholder="网站名" id="search1"/> ???????<input type="text" placeholder="别名" ?id="search2"/> ???????<input type="text" placeholder="网址" ?id="search3"/> ???????<input type="button" value="查询" onclick="searchSite()" /> ???????????????<table style="border-collapse: collapse;" border=1;> ???????????<thead> ???????????????<th> ???????????????????<input type="checkbox" id="checkAll" onclick="checkAll()" /> ???????????????</th> ???????????????<th>序号</th> ???????????????<th>网站名</th> ???????????????<th>别名</th> ???????????????<th>网址</th> ???????????</thead> ???????????<tbody id="tbody"> ???????????????????????????</tbody> ???????????</table>
/*注册*/function ?addSite(){ ???????var wangzhanming = document.getElementById("wangzhanming").value; ???var bieming = document.getElementById("bieming").value; ???var wangzhi = document.getElementById("wangzhi").value; ???var site = { ???????wangzhanming : wangzhanming, ???????bieming : bieming, ???????wangzhi : wangzhi ???} ???if(localStorage.sites == undefined){ ???????var arr = []; ???}else{ ???????var str = localStorage.sites; ???????var arr = JSON.parse(str); ???} ???for(var i=0; i<arr.length; i++){ ???????if(arr[i].wangzhanming == wangzhanming){ ???????????alert("网站名已注册!请更换网站名!");return; ???????} ???} ???arr.push(site); ???var str = JSON.stringify(arr); ???localStorage.sites = str; ???????alert("新增成功!!"); ???showAllSite();}/** * 显示所有的网站列表 ?*/function showAllSite(){ ???if(localStorage.sites == undefined) return; ???var str = localStorage.sites; ???var arr = JSON.parse(str); ???var html = ""; ???arr.forEach(function(item,index){ ???????html += "<tr class=‘tr‘ onclick=‘chooseInput("+index+")‘ondblclick=‘updateSite("+item.index+")‘><td align=‘center‘><input type=‘checkbox‘ value=‘"+index+"‘ class=‘checkbox‘ /></td><td>"+(index+1)+"</td><td>" ???????+item.wangzhanming+"</td><td>"+item.bieming+"</td><td>"+item.wangzhi+"</td></tr>"; ???}); ???????var tbody = document.getElementById("tbody"); ???tbody.innerHTML = html;}window.onload = function(){ ???showAllSite();}/*删除选中的网站*/function delSite(){ ???var checkboxs =document.getElementsByClassName("checkbox"); ???var count=0; ???var str = localStorage.sites; ???????var arr = JSON.parse(str); ???????????for(var i=0;i<checkboxs.length;i++){ ???if(checkboxs[i].checked){ ???????????????????????var index =parseInt(checkboxs[i].value)-count; ???????arr.splice(index,1); ???????count++; ???}} ???localStorage.sites =JSON.stringify(arr); ???if(count==0){ ???????alert("请至少选择一项!!") ???}else{ ???????alert("删除成功!共删除"+count+"条数据!"); ???????showAllSite(); ???} ???}

HTML5新增web存储方式

原文地址:http://www.cnblogs.com/ljr001/p/7537829.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved