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:执行失败回调函数;
时间: 2024-10-06 13:15:08