HTML5的数据存储和数据处理的功能有,浅析HTML5数据存储及应用的方法

1 html5 本地存储简介

html5 中新增的功能之一是本地,使用本地数据 库可以在客户端本地建立一个数据库,该数据库以前是必须要 保存在服务器端数据库中的内容,现在可以直接保存在客户端 本地了,这大大减轻了服务器端的负担,同时也加快了访问数 据的速度。该技术在网页中把键值对存储客户端,这些 数据可以跨越浏览器的刷新以及关闭和重新打开。对于 ht?ml5 规范的一部分接口,可以依赖任何第三方插件,浏览器都可以原生支持。

本文主要分析html5 的本地存储技术,以firefox 浏览器 为例介绍 html5 的几种本地存储技术。

本地存储的方法为:web storage(又分为 localstorage 和 ses?sion storage)、websql 等。不同的场合使用不同种类的本地存储方法。下面将分别介绍这几种本地存储机制。

2web storage 简介

在 web 上存储数据的功能,即 web storage功能。webstorage 功能的存储主要是针对客户端本地。web storage 的存 储功能包含session storage 和 local storage 两种不同的存储类 型。sessionstorage 和 local storage,它们都能支持在同域下存储 5mb 数据,这相比cookies 有着明显的优势,这是能够正确区 分会话数据和长期数据。

2.1 session storage对象

session 即会话,是针对一个会话,sessionstorage 则是将数据保存在 session 对象中。用户在浏览网站时,用户从打开网站 到关闭网站所经过的整个时间,这段时间就是用户浏览网站所 花费的时间。其中任何数据都保存在 session 对象中,同时仅在 同一的会话页面中,数据才能访问,一旦会话结束,所有的数据 将销毁。

2.2 local storage 对象

local storage对象则是将数据保存在客户端本地的硬件设 备中,如果浏览器被关闭,但这些数据还是存在的。当用户再 次打开浏览器访问网站时,localstorage 对象中的数据仍然可以 继续使用。由此分析,我们可知临时保存用 session storage,永久保存用 local storage。

1)清空 local storage数据

local storage 的 clear()函数用于清空同源的本地存储数据, 如 local storage.clear(),它将删除所有本地存储的local storage 数据。而web storage的另外一部分session storage 中的clear函数只清空当前会话存储的数据。

2)遍历 local storage数据

遍历local storage 数据主要用到两个方法length 和 key,length 表示中保存的数据总量,key表示保存数据时的键名项,

索引号(index)表示第几条键名对应的数据记录。索引号(in?dex)以0 值开始,如果取第3 条键名对应的数据,index值应该是 2。

“获取数据并存储”示例

97ef69ec068422423d9b4410416d6b33.png

88cda997dd0cc6078da60c66959a0a60.png

“取出数据显示”示例

cf373f05a4b43bae076bb480c0fd94a5.png

在 firefox 浏览器中,用户刷新一次页面,计数器的数值将 加 1。

在 firefox中浏览效果,如果用户刷新一次页面,计数器的 数值将加 1,如果用户关闭浏览器窗口,再次打开该网页,计数 器会继续上一次计数器,而不会重置为1,代码如下:

927d14331b16de5ffafc768529cf7af6.png

综上所述,sessionstorage 是一种非持久化的本地存储,它 仅是会话级别的存储。local storage是持久化的本地存储,只有 主动删除数据,数据才会过期,否则数据是永远不会过期的。

3)使用 json 对象存取数据

在 html5 中可以使用json 对象来存取一组相关的对 象。使用 json 对象可以收集一组用户输入信息,然后创建一 个 object 来包含这些信息,之后用一个json 字符串来表示这 个 object,然后把json 字符串放在local storage 中。当用户检索指定名称时,会自动用该名称去local storage 取得对应的json 字符串,将字符串解析到object 对象,然后依次提取对应的信息,并构造html 文本输入显示。

3 websql数据库

在 html5 中内置了一个可以通过sql 语言来访问数据 库,即 web sql。web sql 数据库是能够在客户端存储大量结构化数据,是适用于关系数据库的本地存储技术。我们可以使用本地和会话存储完成对简单的关键值或简单对象进行存储, 但是如果处理琐碎的关系数据时,就无能为力了,此时需要 websql 数据库。对于数据库使用,设计到打开数据库,执行sql 命令。

但需要我们注意的是,在使用服务器端的一个数据库时, 需要关闭数据库。

websql的 3个核心方法,分别为 opendatabase、transac? tion、executesql。

1)打开与创建数据库

可以使用 opendatabase 方法打开一个已经存在的数据库, 如果数据库不存在,使用此方法将会创建一个新数据库。打开 或创建一个数据库的代码如下。

上述代码的括号中设置了五个参数,括号中的参数意义依 次为数据库名称、版本号、文字说明、数据库的大小和创建回滚。在操作时,如果“mydb”数据库不存在,将自动创建数据库 “mydb”。如果创建的连接不成功,则数据库对象为 null。

为了确保应用程序有效,并且检测对 数据库 api 的支持, 还应该测试浏览器对数据库的支持,所以要进行测试,绝不可 以假设该连接成功。

2)执行事务

访问数据库的时候,还需要使用 transaction方法,用来执行 事务处理。使用事务处理,可以防止在对数据库进行访问及执 行有关操作的时候收到外界的打扰。因为在 web上,同时会 有许多人都在对页面进行访问,如果访问数据库的过程中,正在操作的数据被别的用户给修改掉的话,会引起很多意想不到的后果。

database.transaction( )需要一个参数,该参数是一个函数。 实际执行的查询服务如下:

同时可以利用 sql 语句为表插入一些新数据,也可以管理 现有数据。

3)sql 操作结果处理方法

sql 操作结果2 种,分别为成功和失败。针对成功和失败 这两种结果,采取不同的处理方法。

当 sql 操作结果为成功时,执行的回调函数有两个参数, 分别是执行事务对象、查询返回的结果。

当 sql操作结果为失败时,执行的回调函数为一个,回调函 数中仅有一个参数,即错误对象,可以通过此错误对象获知具体的错误信息。

总之,在 html5中,大大丰富了客户端本地可以存储的内 容,添加了许多功能来将原本必须要保存在服务器上的数据转换为保存在客户端本地,从而大大提高了 web应用程序的性能,减轻了服务器端的负担。

4 小结

通过比较分析几种存储技术,我们了解了要实现设计 的离线功能需要将远程数据库的数据复制到本地数据库,并选 取一种合适的本地存储技术。

比如我的案例:汽车干扰遥控器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装 MySQL或File DB安装 编辑反.php文件并将设置修改为所需的设置。 编辑mysql_config.php或filedb_config.php(取决于您希望使用的是什么)。 上传所有.php文件和图像文件(如果使用图形计数器)。 放在所有页面的html中。 访问浏览器中的comp.php文件。注意:如果使用filedb,您的计数器将出现。如果使用MySQL,您的计数器将首先安装,然后您可以刷新页面,您的计数器将显示出来。注2:记得删除安装文件夹。 高级用户安装 编辑计数器和配置文件。 如果使用MySQL,则将dbtables.sql加载到数据库中。 PHP-Nuke w/MySQL 将整个计数器文件夹上传到php-nuke根文件夹(其中安装了php-nuke)。 将/extras/PHP-Nuke/blocks/block-EP-Dev_Counter.php上传到PHP-Nuke的/块/文件夹。 进入PHP-Nuke的管理,单击块,然后添加块“EP-Dev计数器”。 (可选)Edit comp.php注意:您的计数器将首先安装,然后您可以刷新页面,您的计数器就会显示出来。 升级 备份数据库数据文件! Upgrading from 3.x --> 3.x 编辑反.php文件并将设置修改为所需的设置。 编辑mysql_config.php或filedb_config.php(取决于您希望使用的是什么)。 上传所有.php文件和图像文件(如果使用图形计数器)。 (可选:访问新/stats/页面查看旧的统计数据!) Upgrading from 1.x or 2.x --> 3.x 编辑反.php文件并将设置修改为所需的设置。 编辑mysql_config.php或filedb_config.php(取决于您希望使用的是什么)。 上传所有.php文件和图像文件(如果使用图形计数器)。 访问浏览器中的安装/升级-v3.php,并遵循屏幕上的任何说明。注意:您的旧文件数据库文件/表将升级为新格式,不会丢失任何数据。 特征列表 在线访客/每日访客/访客总数/点击数总数 文件数据库和MySQL数据库都支持。 容易编辑计数器显示文件. 自动数据库裁剪(文件和MySQL) 可配置在线时间 可配置TRIM数据库时间 自动存档选项 点击/访问偏移功能 逗号开/关 图形或文本 可配置数长度 IP忽略 IP阻塞 许多其他特性(我无法再跟上它们了) 故障排除 问题:我的统计页面总是显示我有0名在线访问者。我启用了时间偏移。 解决方案:目前还没有解决这个问题的办法。这是脚本检查服务器时间与数据库中的时间值的结果。如果你想在网上查看你的访问者,只需访问你的实际反.php文件;) 问题:计数器告诉我,我的“绝对路径”设置不正确!? 解决方案:您可以在comp.php中找到绝对路径设置。如果您不知道您的绝对路径,您可以访问Web浏览器中的文件/install/abus.php(包括在此计数器中)。php文件将显示计数器所需的绝对路径。 问题:我的柜台没有出现,而是显示为。 解决方案:确保您的页面是php页面(.php),并且您的服务器上有php。 问题:我不知道如何编辑计数器的布局。 解决方案:编辑-display.html文件。包括以下内容以反映不同的统计数据: 在线访问者-!反-ONPAGE! 今天的访客-!反-今天! 游客总数-!回访! 总命中-!反击! 问题:我不知道MySQL数据库是什么,或者我是否有一个数据库!解决方案:MySQL数据库存储数据的简单方式和位置。您可以询问您的网站主机是否有(如果有,您的用户名、密码和数据库名称是什么)。如果您没有MySQL数据库,则可以将计数器设置为在comp.php文件中使用文件数据库。 问题:我收到“分析错误:解析错误,意外‘,’.行#”。解决方案:您的HITS_偏移量中可能有逗号,请删除它们。 问题:我的柜台没有正确显示访客!它总是保持在1或0。 解决方案:问题的出现与您包含文件的方式有关。这是一个已知的问题,如果您是: (A)通过域链接到脚本 (B)让服务器以其他方式拉出脚本,而不是EP-dev所建议的方式。 修复:只需包含服务器上有绝对路径的浏览器(通常用于CGI脚本)。因此,您的包含看起来类似于:。如果域名是mydomain.com,那么包含的内容可能是这样的:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值