所有分类
  • 所有分类
  • 后端开发
HTML5新宠!本地存储localstorage全攻略

HTML5新宠!本地存储localstorage全攻略

存储方式:应用程序很有用。indexedDB中没有表的概念,而是objectStore,一个数据库中可以包含多个objectStore,objectStore是一个灵活的数据结构,可以存放多种类型数据。选择键的类型不同,objectStor

本地存储localstorage

HTML5新宠!本地存储localstorage全攻略

哈喽大家好!前端开发时有个很实用的东西——本地储存,它能把网页里的数据储存下来~而且这个功能还是HTML5新添的!data咋存?就是用key-value这种encode形式存到电脑里,就能保证数据永远存在!不过有个区别要跟你说下,和sessionStorage比起来,localStorage的优点在于即使关掉网页,数据也会保留除非你亲自去清空或者用到最大容量了,那就没办法了。

if(window.localStorage){
 alert('This browser supports localStorage');
}else{
 alert('This browser does NOT support localStorage');
}

使用local storage超简单哒,直接在JavaScript里用它的 object localStorage就行了。先用 setItem()存你想要的东西,要用时再用 getItem()拿出来,觉得没必要就用 removeItem()清理掉。这种储存方式很适合那些要长久保留但修改不多的数据,例如个人喜好啊、登录记录等等。

HTML5新宠!本地存储localstorage全攻略

在IE9浏览器里得小心了因为LocalStorage不能直接打开电脑里的文档,所以要上线网站的话可得把项目搬进服务器。


...

本地存储sessionstorage

和那个叫Local Storage的玩意儿有点像,Session Storage是HTML5给我们准备的另一个本地存储神器。区别就是,你存放在这里面的信息,只要你关闭了这个网页或者浏览器窗口就会自动消失,特别适合同步保存一些需要保留的当前会话信息~

用sessionStorage就能搞定网页间的数据传输、临时存货这些事儿。但要记住,它只能在同一个页面里跑,不能到别的地方去。想要读写这个存储空间就得靠setItem()和getItem()这俩鬼东西了。

CACHE MANIFEST
# 2016-07-24 v1.0.0
/theme.css
/main.js
NETWORK:
login.jsp
 
FALLBACK:
/html/ /offline.html

这两种本地存贮方法,前端开发用起来方便多,它们能帮我们更有效地管理客户端的数据,还能减轻服务器的负担!

离线缓存(application cache)

     manifest
     text/cache-manifest

离线缓存呀就是用浏览器的缓存,就算没网,也能打开APP或者网页!HTML5里有个application cache就搞定这个功能。

Manifest文件就是下次再用时可直接从存储器里读取数据的东西啦~里面主要列了哪些该下到手机里备着,哪些得上网再下载。然后还要搞个备用方案,就是万一不行还能怎么办之类的。

要记得把MIME类型设对:放在服务器的manifest文件中,设成”text/cache-manifest”!还有那个名为status的属性,告诉我们应用的缓存现在啥情况:比如检查中,正在下载,或者被废除掉了之类的。

借助离线缓存这东西,你可以没网时也能看已缓存好的网页,提升上网体验还能给网站提速!

Web SQL

Web SQL这个API,它不是HTML5规定里的东西,不过是单独搞出一套能让咱们在客户端用SQL操纵数据库的方法。有了它,我们就能轻松玩转数据库,而且跟MySQL的操作语句差不多!

Web SQL数据库就是用openDatabase开启数据库,transaction搞定事务,有了 executeSql就能运行SQL语句~只要学会这几个API,我们就可以在客户端的数据库里瞎折腾,比如添加删除修改查询之类的。

对了解SQL语句和关系型数据库的开发者来说,Web SQL轻松易懂地处理客户端数据,帮你做出更专业、丰富的网络应用程序!

IndexedDB

HTML5里的IndexedDB,就是个提供大容量本地存储数据和离线web应用的好助手。比起WebSQL,它有个优势是使用“问问答”而不是“给我答案”的方式来执行任务。

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024,fn);
//openDatabase() 方法对应的五个参数分别为:数据库名称、版本号、描述文本、数据库大小、创建回调

IndexedDB基本就像咱用的图书馆一样,包括开馆、办活儿(处理事务)、立仓、改添删割啥的功能。它不讲表格这种事儿,只看objectStore当小单位,一个库里能有好多objectStore,各种东西都能用它放。

使用IndexedDB,开发者能更加方便地管理海量有规律的资料,还能用本地缓存提高网上应用的运行速度和反应度。碰到要求大量客户端处理,或者经常在没网络时也要使用数据的情况,IndexedDB可是个好帮手!

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {  
   tx.executeSql('CREATE TABLE IF NOT EXISTS WIN (id unique, name)');
});

总的来说,前端HTML5那几个保存方法都挺厉害的,具体选哪个得看实际需求来决定,这样做可以大大提高用户感受以及网站速度!

var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
   tx.executeSql('CREATE TABLE IF NOT EXISTS WIN (id unique, name)');
   tx.executeSql('INSERT INTO WIN (id, name) VALUES (1, "winty")');
   tx.executeSql('INSERT INTO WIN (id, name) VALUES (2, "LuckyWinty")');
});

原文链接:https://www.icz.com/technicalinformation/web/2024/04/13772.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?