HTML5-本地存储总结

这里介绍了JavaScript中使用HTML5的新特性:

兼容 时间 大小   差异

sessionStorage all 类似【session】

localStorage all第二天、第二周或下一年之后,数据依然可用

globalStorage Firefox(目前只有FF支持)类似【sessionStorage 】

Web Sql Database all

 

 

 

//--------------------------会话级别的本地存储:sessionStorage-----------------------

 <script type="text/javascript">
        //添加key-value 数据到 sessionStorage
        sessionStorage.setItem("demokey", "sessionStorage记住我");
        //通过key来获取value
        var dt = sessionStorage.getItem("demokey");
        alert(dt);
        //清空所有的key-value数据。
        //sessionStorage.clear();
        alert(sessionStorage.length);
</script>


//--------------------------永久本地存储:localStorage-----------------------------------
<script type="text/javascript">
        //添加key-value 数据到 localStorage
        localStorage.setItem("demokey", "localStorage记住我");
        //通过key来获取value
        var dt = localStorage.getItem("demokey");
        alert(dt);
        //清空所有的key-value数据。
        //localStorage.clear();
        alert(localStorage.length);
</script>


//--------------------------暂时本地存储:globalStorage-----------------------------------
/*
现在Firefox只支持当前域下的globalStorage存储
过期时间同 localStorage,其它的一些特性也和localStorage相似。
?globalStorage['developer.mozilla.org'] —— 在developer.mozilla.org下面所有的子域都可以通过这个命名空间存储对象来进行读和写。
?globalStorage['mozilla.org'] —— 在mozilla.org域名下面的所有网页都可以通过这个命名空间存储对象来进行读和写。
?globalStorage['org'] —— 在.org域名下面的所有网页都可以通过这个命名空间存储对象来进行读和写。
?globalStorage[''] —— 在任何域名下的任何网页都可以通过这个命名空间存储对象来进行读和写
?设置 key 值:window.globalStorage["planabc.net"].key = value;
?获取 key 值:value = window.globalStorage["planabc.net"].key;
?removeItem(key) —— 删除 key 值。
*/




//----------------------------Web Sql Database--------------------------------------------
//第一步:打开连接并创建数据库 

var db = openDatabase('testDB', '1.0', 'Test DB', 2 * 1024 * 1024function () { } );


if (!dataBase) {
    alert("数据库创建失败!");
} else {
    alert("数据库创建成功!");
}
//第二步:创建数据表 
this.createTable=function() {


  dataBase.transaction( function(tx) { 
    tx.executeSql(
        "create table if not exists stu (id REAL UNIQUE, name TEXT)", 
        [], 
        function(tx,result){ alert('创建stu表成功'); }, 
        function(tx, error){ alert('创建stu表失败:' + error.message); 
    });
 });
}
//第三步:执行增删改查 


// 1)添加数据:
this.insert = function () {
  dataBase.transaction(function (tx) {
            tx.executeSql(
        "insert  into  stu (id, name) values(?, ?)",
        [id, '徐明祥'],
        function () { alert('添加数据成功'); },
        function (tx, error) { alert('添加数据失败: ' + error.message); 
        } );
    });
//      2)查询数据

 

db.transaction(function (context) {
           context.executeSql('SELECT * FROM testTable', [], function (context, results) {
            var len = results.rows.length, i;
            console.log('Got '+len+' rows.');
               for (i = 0; i < len; i++){
              console.log('id: '+results.rows.item(i).id);
              console.log('name: '+results.rows.item(i).name);
            }
         });

 


// 3)更新数据
this.update = function (id, name) {
    dataBase.transaction(function (tx) {
            tx.executeSql(
        "update  stu  set  name =  ?  where  id= ?",
        [name, id],
         function (tx, result) {
         },
        function (tx, error) {
            alert('更新失败: ' + error.message);
        });
   });
}


//      4)删除数据
   this.del = function (id) {
            dataBase.transaction(function (tx) {
            tx.executeSql(
        "delete  from  stu  where  id= ?",
        [id],
         function (tx, result) {
         },
        function (tx, error) {
            alert('删除失败: ' + error.message);
        });
     });
   }


//       5)删除数据表
  this.dropTable = function () {
              dataBase.transaction(function (tx) {
            tx.executeSql('drop  table  stu');
        });
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值