利用Web存储工具创建HTML5 Web应用程序

HTML5 提供了新的语义元素,还提供了恰当的使用应用程序缓存器、JavaScript worker、新版本的 XMLHttpRequest 和一种名为 Web 存储的工具创建 HTML Web 应用程序的方式。本文将探讨 Web 存储的强大功能,以及它成为一种优于 cookies 的存储方法的原因。通过本文您将了解基本概念、浏览器支持和 HTML5 Web 存储对象。

Cookies 从 JavaScript 出现之初就一直存在,所以在 Web 上存储数据并不是个新概念。不过Web 存储是数据存储的一种更为强大的版本,可提供更多的安全性、速度和易用性。在 Web 存储中还可以存储数量巨大的数据。具体的数量则取决于 Web 浏览器,但通常都在 5MB 到10MB 之间,这对于一个 HTML 应用程序而言已经足够大。另一个好处是此数据并不会在每次出现服务器请求时都被加载。惟一的限制是不能在浏览器之间分享 Web 存储, 如果您在 Safari 中存储了数据,那么该数据在 Mozilla Firefox 中是无法访问的。

内置到 HTML5 中的 Web 存储对象有两种类型:

sessionStorage 对象负责存储一个会话的数据。如果用户关闭了页面或浏览器,则会销毁数据。 The localStorage 对象负责存储没有到期的数据。当 Web 页面或浏览器关闭时,仍会保持数据的存储,当然这还取决于为此用户的浏览器设置的存储量。

这两种存储对象具有相同的方法和属性。为了获得一致性,本文在所有的示例中使用的都是 localStorage 对象。

在本文中,我们将了解 Web 存储的强大功能,以及它成为优于 cookies 的一种存储方式的原因。本文还将探索基本的 Web 存储概念、HTML5 Web 存储方法和浏览器支持。

浏览器支持

所有最新的浏览器版本均支持 Web 存储特性,这些浏览器包括 Firefox、Google Chrome、Safari、Opera 和 Microsoft® Windows® Internet Explorer® 8+。不幸地是,Internet Explorer 7 和更早版本不支持 Web 存储。表 1 显示了支持 HTML5 Web 存储的每个桌面浏览器版本。

表 1. HTML5 Web 存储的桌面浏览器支持

Chrome Firefox Safari Opera Internet Explorer 4+ 4+ 4+ 11+ 8+

除了 Opera Mini 之外,其他移动浏览器也提供了对 HTML5 Web 存储的支持。表 2 显示了支持 HTML5 Web 存储的每个移动浏览器版本。

表 2. HTML5 Web 存储的移动浏览器支持

iOS Android Opera Mini Opera Mobile 5+ 3+ NA 11+

HTML5 Web 存储的浏览器支持十分令人瞩目。但是,较老的浏览器要求在使用之前检查 Web 存储支持的浏览器。为了了解 Web 存储支持而对浏览器进行检查非常简单。可以使用一个简单的条件语句来查看 HTML5 存储对象是否已经定义。如果已经定义,就可以放心进行 Web 存储脚本编写。如果未定义,而数据存储又是必需的,则需要采用一种备选方法,比如 JavaScript cookie。清单 1 的例子显示了一种简单的为 Storage 对象进行浏览器检查的方式。

清单 1. Web 存储支持的浏览器检查

if(typeof(Storage)!== "undefined") { // Web storage is supported}else { // Web storage is NOT supported}

如果浏览器不支持 Web 存储,那么您可以使用 JavaScript cookie 或一个现有的库(比如 AmplifyJS)来创建一个定制的 Web 存储对象。AmplifyJS 是一组组件,旨在通过一个简单的 API 解决常见 Web 应用程序问题,包括某些浏览器中的 Web 存储支持。AmplifyJS 用 amplify.store 包装程序来处理持久的客户端存储,它支持 Internet Explorer 5+、Firefox 2+、Safari 4+、Chrome、Opera 10.5+、iOS 2+ 和 Android 2+。这个库还支持一个持久的 API 来处理跨浏览器存储;您无需基于具体的浏览器编写不同的代码。如果浏览器支持 HTML5 Web 存储,那么 AmplifyJS 就会使用最新的存储技术。如果浏览器不支持 HTML5 Web 存储,那么 AmplifyJS 就会降级,以支持没有该功能的存储。

时间: 2025-01-21 05:16:32

利用Web存储工具创建HTML5 Web应用程序的相关文章

html5 web sql database 能建数据库不能建表怎么回事

问题描述 html5 web sql database 能建数据库不能建表怎么回事 html5 web sql database 能建数据库不能建表怎么回事 现在是数据库能建起来 表建不起来 代码如下 <script type="text/javascript"> var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024); var msg; db.transaction(function (tx) {

使用HTML5 和CSS3创建现代Web站点

开始之前本教程假定您具有 HTML.CSS 和 JavaScript 的一些基本经验.假定您知道什么是 HTML 元素或标记.属性表示什么.HTML 标记的基本语法.Web 页面的常规结构等等.关于 CSS,您应该熟悉元素.类.以及基于 ID 的选择器.CSS 特性的语法以及如何使用内嵌或外部样式表在您的 Web 页面中包括 CSS.最后,假定您具有一些 JavaScript 的工作知识,例如什么是变量.函数.if 语句和 for 循环以及如何在您的 Web 页面中包括 JavaScript 代

利用JSP 2.0开发Web应用程序1

js|web|程序 JSP(JavaServer Pages)技术是对Servlet的进一步抽象,它由JCP(Java Community Process)开发,是用于生成动态内容的开放式的.可免费获取的规范,也是J2EE(Java 2 Enterprise Edition)规范的重要组成部分.许多商业应用服务器如BEA WebLogic.IBM WebSphere.Live Jrun和Orion都支持JSP技术. 从机票预订系统.银行系统到购物系统,Web上到处都在应用JSP技术.新发布的2.

利用JSP 2.0开发Web应用程序2

js|web|程序 标签处理器 JSP 1.2中传统的标签处理API由于允许标签体中包含scriptlet而变得复杂,但是现在利用表达式语言可以编写不含scriptlet的JSP网页.最终,JSP 2.0引入了一种新的标签扩展机制,称为"简单标签扩展",这种机制有两种使用方式: Java开发人员可以定义实现接口javax.servlet.jsp.tagext.SimpleTag的类; 不懂Java的网页编写人员则可以使用标签文件. 首先来看第一种方式,代码示例6给出了一个简单的标签处理

ASP.NET+Atlas创建客户端Web应用程序

asp.net|web|程序|创建|客户端 提要 本文介绍了Atlas框架,并探讨它的客户端和服务器端类库及其编程模型.另外,本文还详细剖析了一个支持Atlas功能的示例Web应用程序. 一. 开发环境说明 本文中所提供的信息适用于下列技术:Asp.net 2.0,Asp.net Atlas CTP,Visual Studio Professional 2005和Visual Web Developer 2005. 二. 简介 Atlas是一个框架的代号,该框架对于客户端Web应用程序的开发方面

利用VS2005构建针对DB2的应用程序和Web站点

在本文中,讲述利用 IBM tooling for Visual Studio 2005 构建针对 DB2的Windows 应用程序和Web 站点.本文讲述如何依照 Visual Studio 2005 中引入的最新的简单范型来构建此类应用程序和Web 站点. 前提条件 在开始构建应用程序和Web 站点之前,请确保已执行了以下步骤: 下载并安装 IBM Database Add-ins for Visual Studio 2005.有关下载和安装说明,请访问 developerWorks Inf

使用Eclipse和Java SE 6创建独立Web Services应用程序,第2部分

使用Eclipse和Java SE 6创建独立Web Services应用程序,第2部分: Web服务客户端应用程序 开始之前 关于本系列 此系列教程演示如何使用 Java SE 6 创建可轻松地从命令行而不是从 Web 应 用程序服务器容器中运行的独立 Web 服务服务端和客户端应用程序.在简单的 Hello World 示例中,您将利用 Eclipse IDE.Java SE 6 和 Apache Ant 轻松 创建完全可以正常工作的 Web 服务服务端和客户端应用程序.您还将使用 TCP/

使用Eclipse和Java SE 6创建独立Web Services应用程序,第1部分

使用Eclipse和Java SE 6创建独立Web Services应用程序,第1部分: Web Services服务端应用程序 开始之前 关于本系列 此系列教程演示如何使用 Java SE 6 创建可轻松地从命令行而不是从 Web 应 用程序服务器容器中运行的独立 Web Services 服务端和客户端应用程序.使用 简单的 Hello World 示例,您将利用 Eclipse IDE.Java SE 6 和 Apache Ant 轻松创建完全可以正常工作的 Web Services 服

Java 开发 2.0: 使用方便的 EC2--快速创建 CRUD Web 应用程序并在 Amazon Elastic Compute Cloud 上运行它

提供一个 EC2 实例来托管 Java Web 应用程序将非常简单.在这一期 Java 开发 2.0 中,我们将快速构建一个利用 Groovy.Spring 和 Hibernate(通过 Grails 框架)的 Web 应用程序并将其部署到一个 EC2 实例. 正如您从 "Java 开发 2.0:您也可以租用 EC2" 中了解到的一样,Amazon 的 Elastic Compute Cloud (EC2) 是一个用于托管(Linux®.OpenSolaris 甚至 Windows®)