【HTML5初探之本地存储】如果没有数据库。。。

导航

【初探HTML5之使用新标签布局】用html5布局我的博客页!

【HTML5初探之form标签】解放表单验证、增加文件上传、集成拖放

【HTML5初探之绘制图像(上)】看我canvas元素引领下一代web页面

【HTML5初探之绘制图像(下)】看我canvas元素引领下一代web页面

【HTML5初探之多媒体元素】视频播放HTML5、Flash谁才是王道?

【HTML5初探之本地存储】如果没有数据库。。。

【HTML5初探之离线应用】如何打造零请求、无流量的网站?

【HTML5初探之通信API】跨域门槛不再高、数据推送不是梦

【HTML5初探之Web Workers】网页也能多线程

【HTML5初探之Geolocation API】让我们来回去地理信息


前言

本章主要内容是Web Storage与本地数据库,其中Web Storage 是对cookie的优化,本地数据库是HTML5新增的一个功能,使用它可以在客户端建立一个数据库

大大减轻服务器端的负担,加快访问数据速度。

学习本章需要掌握Web Storage基本概念,了解sessionStorage与localStorage的使用与差别

掌握本地数据库的使用

什么是WebStorage?

前面说过,webstorage是对cookie的优化而来,HTML4中使用cookie在客户端存储用户数据,长期使用发现存在以下问题:

大小限制在4kb
cookie每次随HTTP事务一起发送,浪费带宽
正确操作cookie很复杂(这个有待考虑)
由于以上问题,HTML5提出WebStorage作为新的客户端本地保存技术。

复制代码
Web Storage 技术在web上存储数据即针对客户端本地;具体来说分为两种:
sessionStrage:
session即会话的意思,在这里的session是指用户浏览某个网站时,从进入网站到关闭网站这个时间段,session对象的有效期就只有这么长。

localStorage:
将数据保存在客户端硬件设备上,不管它是什么,意思就是下次打开计算机时候数据还在。

两者区别就是一个作为临时保存,一个拥有长期保存。
复制代码
使用示例

简单应用


在chrome浏览器下看会有感觉的。

简单web留言板

简单留言板


更复杂的运用中,可以将value值用作json字符串,以此达到用作数据表的目的;

本地数据库

在HTML5中内置了一个可通过sql访问的数据库(新浏览器果真强大啊!),所以在HTML4中数据只能存在服务器端,HTML5则改变了这一原则。

这种不需要存储在服务器的专有名词为“SQLLite”(我终于知道他是干什么的了)

复制代码
使用SQLLite数据库,需要两个必要步骤:
创建数据库访问对象
使用事务处理

创建对象:
openDatabase(dbName, version, dbDesc, size)

实际访问:
db.transaction(function () {
tx.excuteSql('create table ......');
});

数据查询:
excuteSql(sql, [], dataHandler, errorHandler)//后面两个为回调函数;[]估计是做sql注入处理
复制代码
光说不练假把式,我们来实际操作一番,使用数据库实现web通讯录(左思右想还是用上了jQuery):

做的时候居然发现我的FF不支持本地数据库!!!以下是用chrome完成的简单的通讯录:

通讯录


结语

对于搞过后端的同学,这章东西其实也是非常简单的,我再一次涌起了这种想法:

其实HTML5就是HTML4+api接口,目的就是让我们可以用js做更多事情罢了。



本文转自叶小钗博客园博客,原文链接:http://www.cnblogs.com/yexiaochai/archive/2013/04/19/3031002.html如需转载请自行联系原作者


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/539902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FragmentActivity和Activity的具体区别

fragment是3.0以后的东西,为了在低版本中使用fragment就要用到android-support-v4.jar兼容包,而fragmentActivity就是这个兼容包里面的,它提供了操作fragment的一些方法,其功能跟3.0及以后的版本的Activity的功能一样。 下面是API中的原话&am…

算法理论

ylbtech-Arithmetic:算法理论-- -- ylb:算法-- Type:算法-- 简简单单的一个月,完成一个台阶的提升-- 1,着重于算法的研究(谢谢她为我出的那道题)-- 2,可以不太依附工具环境开发,现在,也可使用记…

linux环境OpenRASP使用教程,集成openRASP与攻击测试

1.介绍openRASP是一个百度的安全框架,将其集成到我们的web项目中,就像是给web项目安装了一款“安全管家”的软件,它可以检测到攻击,并进行拦截。2.集成openRASP到项目中openRASP针对不同的服务器,提供了不同的安装方法…

JQuery调用iframe子页面函数/对象的方法

JQuery调用iframe子页面函数/对象的方法例子: 父页面有个ID为mainfrm的iframe,iframe连接b.html,该页面有个函数test 在父页面调用b.html的test方法为: $("#mainfrm")[0].contentWindow.test();

ExtJs 备忘录(4)—— Form表单(四) [ 数据提交 ]

一、截图和示例共用Ext.FormPanel1.1  截图由于本文主要关注的是表单提交的几种方式&#xff0c;所以仅用了一个表单项以便于测试和减少示例代码。1.2  示例共用Ext.FormPanel <script type"text/javascript">Ext.onReady(function() { Ext.Qui…

web.xml文件的作用

每个javaEE工程中都有web.xml文件&#xff0c;那么它的作用是什么呢&#xff1f;它是每个web.xml工程都必须的吗&#xff1f; 一个web中可以没有web.xml文件&#xff0c;也就是说&#xff0c;web.xml文件并不是web工程必须的。 web.xml文件是用来初始化配置信息&#xff1…

linux 扫描mipi设备,VS-RK3399 在linux系统下面调试Mipi camera接口介绍

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼debian系统目前支持Usb camera是没有问题&#xff0c;走UVC功能接口。那么mipi 接口camera和并口接口的camera&#xff0c;在Debian系统怎么设置呢&#xff0c;其实原理一样&#xff0c;也走uvc接口封装函数.下面深圳视壮给大家简单…

hadoop window 搭建

hadoop 原理参考&#xff1a;用 Hadoop 进行分布式并行编程官方中文文档&#xff1a;http://hadoop.apache.org/core/docs/r0.18.2/cn/index.html1. 首先安装 cygwin ssh 参考 windows ssh 搭建2. 搭建hadoop 参考 Cygwin下的Hadoop快速入门-伪分布式模式的查缺补漏 这里…

一篇文章解释struts常用功能

一、什么是框架&#xff1f; 来源于建筑行业&#xff0c;如果建筑一个茅草屋&#xff0c;不需要框架&#xff0c;如果建造一个几个亿的摩天大楼&#xff0c;就需要框架。 小系统用框架浪费人力&#xff0c;中大型系统用框架。 软件中的框架&#xff0c;是一种半成品。实现了一些…

webpack 3 零基础入门教程 #12 - 如何使用模块热替换 HMR 来处理 CSS

模块热替换 是什么意思&#xff1f; 以前我们使用的 webpack --watch 或 webpack-dev-server 的功能是监听文件改变&#xff0c;就自动刷新浏览器&#xff0c;而这个 模块热替换 不用刷新浏览器&#xff0c;它是只让修改到的模块&#xff0c;才会在浏览器上发生相应的变化&…

struts2访问jsp页面404

问题描述 在搭建struts2环境的时候&#xff0c;拷贝了web.xml&#xff0c;拷贝了struts.xml&#xff0c;拷贝了jar包。运行&#xff0c;正常&#xff0c;访问jsp页面&#xff0c;报404错误。 web.xml <?xml version"1.0" encoding"UTF-8"?> <w…

centos7定制linux镜像,自定制Centos7.3系统镜像(ISO)

本文主要介绍如何根据官方的Centos镜像文件&#xff0c;在保留原有默认安装的RPM包的基础下&#xff0c;添加自己所需要的RPM包的&#xff0c;最终生成一个自定制版的ISO&#xff0c;节省了宝贵的时间并确保了安装的定制性。对于其他没有介绍的修改&#xff0c;后续在实践中会进…

调用打开另外一个APK

2019独角兽企业重金招聘Python工程师标准>>> Intent mIntent new Intent(); mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); ComponentName comp new ComponentName("com.mm.android.direct.gdmssphoneLite", "com.mm.android.direct.gdmsspho…

Jquery Mobile dialog的生命周期

JQuery Mobile对htm5的移动开发绝对是个好用的东西&#xff0c;今天简单谈谈JQuery Mobile中的dialog的使用。 1.对话框的弹出。 2.对话框的生命周期。 3.对话框内事件的注册。 1&#xff09;第一个问题&#xff1a;对话框的弹出。 如果要弹出一个对话框&#xff0c;可以在页面…

基本linux命令vi,基本linux和vi命令.pdf

基本linux和vi命令DETIBIHORP ___________________YLTCIR 附录 BTSSIR 基本的 Linux 和ETUP vi 命令 yM lO nC oS___________________I eH sT uM NOR OF IS TL AAI RR OET PA RMT OIK

集成Java内容仓库和Spring

JCR模块 Spring Modules的一部分&#xff0c;JCR模块的主要目标是&#xff1a;以一种类似Spring主分发包中ORM包的方式&#xff0c;简化使用JSR-170 API进行开发。特点如下&#xff1a; JcrTemplate&#xff0c;允许执行JcrCallback和异常处理&#xff08;将需检查的JCR异常转换…

jQuery Mobile弹出对话框后不刷新原页面,保持原页面内容不变

使用jQuery Mobile开发移动应用程序时&#xff0c;在一个页面上弹出对话框&#xff0c;关闭对话框后&#xff0c;发现原来的页面被刷新了。如果原页面上有一些已经选择或者填写的数据&#xff0c;则这些数据就会丢失。这时候&#xff0c;就需要对对话框的返回按钮做一些处理&am…

mpi4py linux例子,python-3.x – mpi4py中的共享内存

我使用MPI(mpi4py)脚本(在单个节点上),它与一个非常大的对象一起使用.为了让所有进程都可以访问该对象,我通过comm.bcast()分发它.这会将对象复制到所有进程并占用大量内存,尤其是在复制过程中.因此,我想分享像指针而不是对象本身.我发现memoryview中的一些功能对于增强进程内对…

c语言源程序最多可能由组成,一个C语言源程序由若干函数组成,其中至少应含有一个()。...

个C语言源由I am interested in the training course, which _____ at Hilton Hotel in Beijing from March 8 to 12, 2018.程序成“万物莫不有对”体现了中国传统哲学的矛盾观。用户在进行产品的三维设计时&#xff0c;干函可以采用以下( )的设计方法。数组少意识是人脑对客观…

oracle的背景

oracle简介 1977年 美国人 Larry 成立软件开发实验室 。 1980年 用c/c开发了世界第一个商用关系型数据库&#xff08;RDBMS&#xff09;。 1983年 公司更名为Oracle Corporation&#xff08;甲骨文公司&#xff09;。 2009年4月21日&#xff0c;Oracle收购Sun公司。 30多…