本地数据持久性提高了 Web 应用程序可访问性和移动应用程序响应能力索引数据库 (IndexedDB) API(作为 HTML5 的一部分)对创建具有丰富本地存储数据的数据密集型的离线 HTML5 Web 应用程序很有用。同时它还有助于本地缓存数据,使传统在线 Web 应用程序( ...
本地数据持久性提高了 Web 应用程序可访问性和移动应用程序响应能力
HTML5 的一个重要特性是本地数据持久性,它使用户能够在线和离线访问 Web 应用程序。此外,本地数据持久性使移动应用程序更灵敏,使用的带宽更少,而且能够在低带宽场景中更高效地工作。HTML5 提供了一些本地数据持久性选项。第一个选项是 localstorage
,它支持您使用一个简单的键值对来存储数据。IndexedDB(一个更加强大的选项)支持您本地存储大量对象,并使用健壮的数据访问机制检索数据。
IndexedDB API 取代了 Web Storage API,后者在 HTML5 规范中已不推荐使用。(但一些领先的浏览器仍然支持 Web Storage,其中包括苹果公司的 Safari 和 Opera Web 浏览器)与 Web Storage 相比,IndexedDB 具有多个优势,其中包括索引、事务处理和健壮的查询功能。本文将通过一系列的示例来展示如何管理 IndexedDB 数据库。(参见 下载 一节,获取示例的完整源代码。)
重要概念
一个网站可能有一个或多个 IndexedDB 数据库,每个数据库必须具有惟一的名称。
一个数据库可包含一个或多个对象存储。一个对象存储(由一个名称惟一标识)是一个记录集合。每个记录有一个键 和一个值。该值是一个对象,可拥有一个或多个属性。键可能基于某个键生成器,从一个键路径衍生出来,或者是显式设置。一个键生成器自动生成惟一的连续正整数。键路径定义了键值的路径。它可以是单个 JavaScript 标识符或多个由句点分隔的标识符。
规范中包含一个异步 API 和一个同步 API。同步 API 用于 Web 浏览器中。异步 API 使用请求和回调。
在以下示例中,输出附加到一个具有 ID result
的 div
标记上。要更新 result
元素,可在每个数据操作期间清除并设置 innerHTML
属性。每个示例 JavaScript 函数由 HTML 按钮的一个 onclick
事件调用。
处理错误或异常和调试
所有异步请求都有一个 onsuccess
回调和一个 onerror
回调,前者在数据库操作成功时调用,后者在一个操作未成功时调用。清单 1 是一个onerror
回调的示例。
清单 1. 异步错误处理函数
request.onerror = function(e) { // handle error ... console.log("Database error: " + e.target.errorCode);};
原标题:[转]使用 HTML5 IndexedDB API
关键词:HTML
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。