新闻动态
HTML5之前的伪本地存储简史
https://www.sytm.net 发布日期:2013/11/24 16:58:09

起初,世界上只有IE浏览器,至少微软是希望全世界都这么认为。最终,在第一次浏览器大战期间,微软有许多不错的新发明,并且把它们加入到终结这场战争的IE浏览器中,其中有一个叫做DHTML行为,而这些行为之中有一个被称作:userData。

UserData允许WEB页面在每个域下存储最大64KB的XML层次结构化数据。IE不会弹出任何形式的权限提醒对话框,也不允许提高该存储空间。

2002年,Adobe在Flash6中引入一个新特性。该特性不幸被冠以一个错误的名字:“Flash cookies”。在Flash运行环境中,该新特性更应该被称为:本地共享对象或者LSOs。简单来说,它允许Flash对象在每个域下存储最大100KB的数据。2005年,Brad Neuberg  开发出了桥接Flash和JavaScript 的早期原型,称为:AJAX大型存储系统,简称AMASS。但是因受限于Flash设计上的缺陷,该系统没有得到很好地发展。到了2006年,随着Flash8中ExternalInternet的问世,在JavaScript中访问Flash的本地共享对象变得越来越容易可快速。于是Brad重写了AMASS,并将它集成到流行的Dojo工具集下的dojox。storage包中。有了AMASS,就相当于每个域下“免费”拥有了100KB的存储空空间。除此之外,它还能提示用户授权增加更大量级的存储空间。

随后,2007年,Google启动了Gears项目,一个开源的浏览器插件,旨在为浏览器提供额外的新特性。Gears为内置的SQL数据库提供了API。得到用户许可后,每个域下Gears可以在SQL数据库表中存储无限的数据。

在此期间,Brad Neuber 8和其他成员继续尝试让dojox。storage为不同类型的存储插件和API提供统一的接口。到了2009年,dojox。storage可以自动检测Adobe、Flash、Adobe AIR,以及只有在老版本的Firefox浏览器上才能实现的HTML5存储的早期原型。

从以上这些对本地存储的解决方案中,不难看出有个共同点:要么是针对特定浏览器,要么对依赖与第三方插件。尽管dojox。storage做看很大的努力来统一这些本地存储的实现差异,但是本身这些差异暴露出了很多问题,如接口不同、存储限制不同,以及用户体验不同。而HTML5就是来解决这些问题的:提供统一的标准API,跨浏览器的原生实现,并且完全不需要依赖第三方插件。

更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览