• html5本地存储web storage的简单使用


      html5的一个非常cool的功能,就是web storage,类似于之前的cookie,不过与之不同的是,web storage 拥有本地5兆的容量可以存储,而cookie却只有4K,这是完全不能比的优势。

    webstrange又分为:localstorage,sessionstorage和本地数据库。

      接下来我就来一一介绍:

    1 localstorage 

      localstorage 的使用比较简单,方法有:

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

      一个小demo来展示功能:

     1 (function($){
     2     $(function(){
     3         $.fn.getFormParam=function(){
     4             var serializeObj={};
     5             var array=this.serializeArray();
     6             var str=this.serialize();
     7             $(array).each(function(){
     8                 if(serializeObj[this.name]){
     9                     if($.isArray(serializeObj[this.name])){
    10                         serializeObj[this.name].push(this.value);
    11                     }else{
    12                         serializeObj[this.name]=[serializeObj[this.name],this.value];
    13                     }
    14                 }else{
    15                     serializeObj[this.name]=this.value;
    16                 }
    17             });
    18             return serializeObj;
    19         };
    20 
    21         var storageFile =JSON.parse(window.localStorage.getItem('demo'));
    22         $.each(storageFile, function(i, val){
    23             $('#demoForm').find('[name="'+i+'"]').val(val);
    24         });
    25 
    26         $('#demoForm').find('[type="submit"]').on('click', function(){
    27             var data = $('#demoForm').getFormParam();
    28             window.localStorage.setItem('demo', JSON.stringify(data));
    29             return false;
    30         });
    31     });
    32 })(jQuery)

    html 代码:

     1 <!doctype html>
     2 <html lang="zh">
     3 <head>
     4     <meta charset="UTF-8">
     5     <script src="jquery-1.10.2.min.js"></script>
     6     <script src="demo.js"></script>
     7     <title>Document</title>
     8 </head>
     9 <body>
    10     <form id="demoForm">
    11         <p><label><span>姓名</span><input name="name"></label></p>
    12         <p><label><span>年龄</span><input name="age"></label></p>
    13         <p><label><span>学号</span><input name="number"></label></p>
    14         <p><label><span>地址</span><input name="address"></label></p>
    15         <p><label><span>爱好</span><input name="habit"></label></p>
    16         <p><label><span>其他</span><textarea name="big" id="" cols="30" rows="10"></textarea></label></p>
    17         <p><input type="submit" value="提交"></p>
    18     </form>
    19 </body>
    20 </html>

    这样,一个简单的展示localstorage 的 demo就实现了

    2 sessionStorage

    sessionStorage用法与localStorage用法相同,不过sessionStorage在浏览器关闭网站时候就会清除,而localStorage会一直保存至浏览器中,二者酌情配合使用。

    3 本地数据库

    熟悉IOS/Android开发的同学,应该会对SQLite数据库比较熟悉

    html5中对数据库的操作比较简单,主要有openDatabase方法和transaction方法

    用一个对象db来接收openDatabase创建的访问数据库的对象

    1 var db = openDatabase(databasename,version,description,size)

    其中

    databasename:数据库名

    version:数据库版本 可不填

    desription:数据库描述

    size:数据库分配空间大小

    transaction方法用一个回调函数作为参数,在函数中执行具体的访问数据库的方法

    1 db.transaction(function(tx)){
    2     tx.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)
    3 });

    executeSql方法的四个参数分别是:

    • sqlQuery:需要具体执行的sql语句,create||select||update||delete;
    • [value1,value2..]:sql语句中所有使用到的参数的数组,在executeSql方法中,将sql语句中所要使用的参数先用“?”代替,然后依次将这些参数组成数组放在第二个参数中;
    • dataHandler:执行成功回调函数;
    • errorHandler:执行失败回调函数;
  • 相关阅读:
    【ClickHouse 技术系列】 ClickHouse 聚合函数和聚合状态
    【ClickHouse 技术系列】 ClickHouse 中的嵌套数据结构
    报表功能升级|新增的这4项图表组件太太太好用了吧!
    【视频特辑】数据分析师必备!快速制作一张强大好用的大宽表
    使用云效Codeup10分钟紧急修复Apache Log4j2漏洞
    技术干货 | 使用 mPaaS 配置 SM2 国密加密指南
    “全”事件触发:阿里云函数计算与事件总线产品完成全面深度集成
    3类代码安全风险如何避免?
    为余势负天工背,云原生内存数据库Tair助力用户体验优化
    LeetCode_Search for a Range
  • 原文地址:https://www.cnblogs.com/runningpaul/p/3716038.html
Copyright © 2020-2023  润新知