让 JavaScript 拯救 HTML5 的离线存储

在 Internet 连接无处不在的今天,我们忽然有了另外一个需求,离线 Web。Gmail, Google Reader, Zoho 这些优秀的 Web 应用都支持离线使用,这归功于 Google Gears。然而真正的离线 Web 要靠 HTML 5,这个未来的 Web 语言明星将为  Web 的离线存储制定一套标准,W3C已经发布 HTML5 离线存储细则。

 

有人可能会说,离线 Web 毫无意义,你得到的只是一个蹩脚的桌面程序,在 wi-fi, 3G 无处不在的今天,我们大部分时间都是在线的,这虽然没错,但我们当中那些已经对各种 Web 应用,如 email, 在线新闻以及 Twitter 一刻不可或缺的人来说,离线 Web 是非常重要的。

不过问题总是有的,HTML5 Web 存储细则中牵扯到很复杂的问题,SQLite。 那些需要编写离线 Web 程序的人需要编写 SQL 代码,SQLite没有错,但它是 SQL 的一个变种,和标准 SQL 有些差别,另外,SQLite 并不属于 W3C,它的所有者很有可能某一天改变它的接口,这会导致那些已经写就的 Web 程序必须重新编写。

是否有更好的方法?Mozilla 实验室的 Atul Varma 最近发布了一篇博客文章,提供了一种替代方案。Varma 正在研究 CouchDB 的一个实验版本,在浏览器中,将该数据库的语义用 JavaScript 实现。最终,我们或许可以直接使用 JavaScript 实现数据库查询,消除 HTML5 在这方面的问题。

针对这篇文章,Mozilla Fennec 移动浏览器团队的 Mark Finkle 在评论中表示,这个方案回避了标准数据库后台中更主要的问题,最好让 localStorage/globalStorage 成为标准,让标准保留在底层,他在自己的一篇博客文章中指出,应当建立一个 JavaScript 库,就像现有的很多 JavaScript 库可以操作网页元素一样,也应当有个 JavaScript 库用来操作离线 Web 存储数据。

这种方法表面上看很复杂,但会为开发者带来灵活,当 Web 无所不能的时候,我们的机会会更多。

时间: 2024-12-02 12:36:25

让 JavaScript 拯救 HTML5 的离线存储的相关文章

HTML5离线存储归纳及使用实例

HTML5离线存储归纳 一.离线存储的作用 1.用户可离线访问你的应用,这对于无法随时保持联网状态的移动终端用户来说尤其重要 2.用户访问本地的缓存文件,通常意味着更快的访问速度 3.仅仅加载被修改过的资源,避免同一资源对服务器多次的请求,大大降低了对服务器的访问压力 二.如何实现离线存储 1.在html标签里通过manifest属性引用一个cache.manifest文件,该文件里声明了浏览器需缓存的所有资源文件,如下所示: <!DOCTYPE html><html manifest=

Html5 Web的5中离线存储方式之localStorage

Html5 Web的5中离线存储方式之localStorage 在HTML5越来越流行的今天,如果你还不知道离线存储,那就说明你落后了很多. HTML5的离线存储方式有多种:Web SQL Database.LocalStorage.Cookie.WebStorage.IndexedDB.FileSystem. Web SQL Database目前虽然还有浏览器支持,是唯一的关系数据库结构的存储,但W3C以及停止对其的维护和发展.我就不多说了. 今天我们主要看LocalStorage这种最简单的

HTML5离线存储 初探

本文主要内容归纳如下: 一.离线存储的作用:二.如何实现离线存储:三.applicationCache对象,及属性.事件.接口 四.访问缓存应用,相应触发事件,及其对应状态:五.如何更新离线缓存 六.demo演示:update后是否调用swapCache的区别:七.写在后面   一.离线存储的作用 1.用户可离线访问你的应用,这对于无法随时保持联网状态的移动终端用户来说尤其重要 2.用户访问本地的缓存文件,通常意味着更快的访问速度 3.仅仅加载被修改过的资源,避免同一资源对服务器多次的请求,大大

html5离线存储中用js检测用户是否联网

在hmtl5移动应用中,离线浏览技术越来越流行.但是,新技术的出现有时会给我们WEB开发人员带领额外的苦恼,比如,如何判断用户现在是在线还是离线?幸好,有矛就有盾,JavaScript里的navigator对象帮我们解决这个问题. navigator.onLine navigator.onLine属性能给我们提供一个布尔值,用来判断用户是否连接了互联网.你可以这样访问它: if(navigator.onLine) { // true|false    // ...} 没有比这更简单的了! 事件

如何利用HTML5的离线功能和本地持久存储特性

在本文中,您将了解如何利用http://www.aliyun.com/zixun/aggregation/79228.html"> HTML5 的离线功能和本地持久存储特性.示例应用程序说明了如何避免常见的问题. HTML 版本 5 (HTML5) 并不期望在 2012 年之前获得万维网联盟 (W3C) 推荐.尽管 HTML5 不是官方标准,但 Web 浏览器供应商正在增加和营销 HTML5 特性.HTML5 正在为 Internet 网站和业务线 (LOB) 应用程序扩展 Web 体验.

HTML5的本地存储方案LOCALSTORAGE的例子

本地存储解决方案很多,比如Flash SharedObject.Google Gears.Cookie.DOM Storage.User Data.window.name.Silverlight.Open Database等. html5的本地存储localStorage 以下是各种本地存储方案的特点: Cookie: 在web中得到广泛应用,但局限性非常明显,容量太小,有些站点会因为出于安全的考虑而禁用cookie,cookie没有想象中的那么安全,Cookie 的内容会随着页面请求一并发往服

localForage帮你实现Web离线存储

Web 应用程序有离线功能,如保存大量数据集和二进制文件.你甚至可以做缓存 MP3 文件这样的事情.浏览器技术可以保存离线数据和大量的储存.但问题是,如何选择合适技术,如何方便灵活的实现. 如果你需要开发一个支持离线存储的 Web 应用程序,不知道从哪里开始,那么这篇文章正是你需要的. localStorage 能够让你实现基本的数据存储,但它的速度慢,而且不能处理二进制数据.IndexedDB 和 WebSQL 是异步的,速度快,支持大数据集,但他们的API 使用起来有点复杂.不仅如此,Ind

详解HTML5 LocalStorage本地存储用法

说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存在了,就好像以前禁用javascript的用户不存在了一样. userData是IE的东西,垃圾.现在用的最多的是Flash吧,空间是Cookie的25倍,基本够用.再之后Google推出了G

HTML5 LocalStorage 本地存储原理详解

  说到Web开发中的本地存储,大家最先想到的应该就是Cookies这玩意了,最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还蛮好.很早以前那些禁用cookies的用户也都慢慢的不存在了,就好像以前禁用ja vasc ript的用户不存在了一样. userData是IE的东西,垃圾.现在用的最多的是Flash吧,空间是Cookie的25倍,基本够用.再之后Google推出了Gear