HTML5本地存储初探(二)
完成了UI,我们就需要对数据进行处理了。
在开始“数据”的本地存储之前,我们先来了解一下client-side database storage API:
the client-side database storage API allows web applications to store structured data locally using a medium many web developers are already familiar with – SQL.--webkit blog
目前只有webkit核心的浏览器支持这一特性。你甚至都不能在w3c的html5工作草案中找到 (cs-db)client-side database 的详细描述。
首先我们要尝试建立一个数据库链接:
try {
if(!window.openDatabase){ //检测浏览器是否支持cs-db
alert('not supported cs-db!');
} else {
var shortName = 'noteDB';
var version = '1.0';
var displayName = 'Note book database';
var maxSize = 65536;
//创建一个数据库
var db = openDatabase(shortName,version,displayName,maxSize);
}
} catch(e){ //尝试捕获错误
if (e == 2){
alert('Invalid database version.');
} else {
alert("Unknown error "+e+".");
}
}
如果以上代码无误,你就会在safair或者chrome的开发者工具中看到这个数据库:
在右侧区域可以直接执行一些sql查询,但是我总是得到 “发生意外错误“0”。” 这样的结果,不知道是不是RP的问题。
接下来就是创建表,以及执行一些sql语句进行增删改查。
js执行sql的基本语法大致是这样的:
db.transaction(
function (transaction){
transaction.executeSql(sqlquery,[],dataHandler, errorHandler);
}
);
其中transaction.executeSql中参数依次为:sql查询字符串,传递给sql查询的参数,数据处理句柄,错误处理句柄。其中只有第一项为必选,其余都为可选项。
第二个参数的用法大致是这样的:
transaction.executeSql("UPDATE people set age=? where name=?;",[ age, name ]);
查询字符串中的“ ?” 会被后面数组中的变量依次替换。
注意:以上我用了“大致”这个词,因为没有官方的文档 (W3C-web database),只是从一些其它文献以及自己判断得来,若有错误还请指正。
下面我们创建一张用来存储note的表:
db.transaction(
function (transaction){
transaction.executeSql(
'CREATE TABLE IF NOT EXISTS notes (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,titel TEXT, note TEXT NOT NULL, date DATE);',errorHandler);
}
);
errorHandler是这样的:
function errorHandler(transaction, error){
alert('Error was: '+ error.message +'(Code:'+ error.code +')');
var fatal_error = true;
if(fatal_error){
return true;
}
return false;
}
error.message 是一段错误描述,error.code 是错误代码 (详情)
再看看如果从db中检索出数据并显示到页面上:
db.transaction(
function (transaction){
transaction.executeSql("SELECT * from notes;",[],dataHandler, errorHandler);
}
);
function dataHandler(transaction, results){
var string = "";
for (var i = 0; i" + row['titel'] + "
";
}
var listConts = $('listCont');
listConts.innerHTML = string;
}
- 大小: 44.1 KB
分享到:
相关推荐
今天突发奇想,如果能用HTML5本地存储实现,就会大大增高程序效率。当然,HTML5 本地存储涉及到各个浏览器的兼容性,涉及存储数据的大小(NKB)等问题。在这儿需要说明的是:如果你做一个不大不小的微商城项目,那么你...
HTML5本地存储是现代网页应用中一个至关重要的技术,它允许开发者在用户的浏览器上存储数据,无需服务器的参与。这极大地改善了用户体验,尤其是对于离线应用或者需要频繁交互的数据缓存场景。在这个"html5本地存储-...
### HTML5本地存储详解 #### 一、HTML5本地存储概述 HTML5本地存储(LocalStorage)作为HTML5标准的一部分,提供了强大的客户端数据存储能力。它允许网页应用在用户的浏览器上持久化存储数据,无需每次都从服务器...
HTML5本地存储是现代Web应用开发中的一个重要特性,它允许应用程序在用户的浏览器上存储大量数据,无需频繁地与服务器交互。Web SQL Database是HTML5本地存储的一种方式,它引入了一个完整的SQLite数据库系统,使得...
### HTML5的本地存储 #### 一、概述 HTML5 的本地存储技术是现代Web开发中一项非常重要的特性,它允许网页应用在用户的浏览器中存储数据。与传统的Cookie存储方式相比,HTML5本地存储提供了更丰富的功能和更大的...
shinyStore, R 软件包,将HTML5本地存储支持添加到 Shiny shinyStoreshinyStore 包使得闪亮的应用开发者可以利用HTML5本地存储在用户的浏览器中存储持久的。同步的数据。安装你可以以使用 of R 包安装代码的最新开发...
HTML5的本地存储机制扩展了Web应用程序的能力,使得开发者可以在用户浏览器中持久化地存储数据。在HTML5之前,Web应用程序依赖于Cookie来存储少量信息,但Cookie由于大小限制和性能原因并不适合大量数据的存储。...
HTML5的本地存储功能极大地增强了Web应用程序的能力,使得开发者能够在用户浏览器端持久地存储数据,无需服务器交互。本文主要探讨了HTML5中的两种本地存储形式——`localStorage`和`sessionStorage`,以及它们的...
HTML5的本地存储是Web应用程序离线运行的关键技术之一,其中Web SQL数据库是早期实现本地存储的方式之一。本文将深入探讨HTML5中的Web SQL数据库,包括它的创建、表格操作以及数据的增删查改。 首先,Web SQL数据库...
- "brianleroux-lawnchair-0.6.3-77-ged3ea57.zip" 和 "zefhemel-persistencejs-v0.2.4-101-gca38084.zip" 是两个流行的JavaScript库,它们抽象了HTML5本地存储接口,使得开发者可以更方便地进行数据操作。...
HTML5的本地存储技术是现代Web应用中一个重要的特性,其中IndexedDB是一个强大的、基于数据库的存储机制。这篇博文将深入探讨IndexedDB的核心概念、用途以及如何在实际项目中运用。 IndexedDB是一种非关系型数据库...
HTML本地存储,特别是HTML5中的localStorage和Web数据库(Database)技术,是现代Web应用中用于在客户端存储数据的重要工具。这些技术使得开发者可以将部分数据存储在用户的浏览器中,从而提高应用程序的性能,减少...
HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存。我们这里以 localStorage 为例,简要介绍下 ...
HTML5的本地存储功能是现代Web开发中的一个重要特性,它允许网页在用户的浏览器上存储数据,无需服务器交互。这在创建离线应用、提高页面加载速度、存储用户偏好设置等方面非常有用。本篇文章将深入探讨HTML5本地...