电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

html5本地存储不完全指南

5页
  • 卖家[上传人]:m****
  • 文档编号:42047318
  • 上传时间:2018-05-31
  • 文档格式:DOC
  • 文档大小:46.50KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、HTML5本地存储不完全指南本地存储不完全指南(作者系中关村北大青鸟 ACCP 讲师李玉婷)历史历史在HTML5本地存储之前,如果我们想在客户端保存持久化数据,有这么几个选择:HTTPHTTP cookiecookie。HTTP cookie的缺点很明显,最多只能存储4KB的数据,每个 HTTP请求都会被传送回服务器,明文传输(除非你使用SSL)。IEIE userDatauserData。userData是微软在上世纪90年代的浏览器大战时推出的本地 存储方案,借助DHTML的behaviour属性来存储本地数据, 允许每个页面最 多存储64K数据,每个站点最多640K数据,userData的缺点显而易见,它不 是Web标准的一部分,除非你的程序只需要支持IE, 否则它基本没什么用处。FlashFlash cookiecookie。Flash cookie的名字有些误导,它实际上和HTTP cookie并 不是一回事,或许它的名字应该叫做“Flash本地存储”,Flash cookie默认 允许每个站点存储不超过100K的数据,如果超出了,Flash会自动向用户请 求更大的存储空间,

      2、借助Flash的 ExternalInterface接口,你可以很轻松 地通过Javascript操作Flash的本地存储。Flash的问题很简单,就是因为它 是 Flash。GoogleGoogle GearsGears。Gears是Google在07年发布的一个开源浏览器插件,旨在改 进各大浏览器的兼容性,Gears内置了一个基于SQLite的嵌入式 SQL数据库, 并提供了统一API对数据库进行访问,在取得用户授权之后,每个站点可以 在SQL数据库中存储不限大小的数据,Gears的问题就是 Google自己都已经 不用它了。现状现状我们现在通常所说的HTML5本地存储,一般指的是Web Storage规范,这个标准曾经 是HTML5规范的一部分,但后来因为种种原因从HTML5规范中分离了出来。但是除了 Web Storage,HTML5的本地存储标准还有另外2个竞争者:Web SQL Database和 IndexedDB。下面就让我们依次来看看这3个规范吧。WebWeb StorageStorageWeb Storage是目前得到支持最广泛的HTML5本地存储规范:IE 8+、

      3、FF 3.5+、Safari 4+、Chrome 4+、Opera 10.5+,以及iPhone 2+和Android 2+都已经 支持Web Storage,要判断你的浏览器是否支持Web Storage,可以使用下面这个函数: 代码 function supports_html5_storage() try return localStorage in window catch (e) return false; HTML5 Storage的使用非常简单: 代码 var foo = localStorage.getItem(“bar“); / . localStorage.setItem(“bar“, foo); 你也可以写成下面这样: 代码 var foo = localStorage“bar“; / . localStorage“bar“ = foo; 如果要将某个key从存储空间删除,可以调用removeItem: 代码 localStorage.removeItem(foo); 你也可以像遍历数组那样遍历存储的所有键值对象: 代码 for(var i=0; ivar key

      4、 = localStorage.key(i); console.log(key + “:“ + localStoragekey); 如果你的程序需要在不同页面访问同一个值,你可能需要了解这个值是否已经被其 他页面改变了,这可以通过向浏览器注册storage事件来实现: 代码 window.addEventListener(storage, function(e) console.log(e.key + “s value is changed from “ + e.oldValue + “ to “ + e.newValue + “ by “ + e.url); , false); /A页面 localStoragefoo = bar; /B页面 localStoragefoo = newBar; 这时你应该会在A页面的Console中看到:foos value is changed from bar to newbar by http:/localhost/test.html要注意的是,storage事件仅仅只是通知你某个键对应的值已经发生了改变,你没 有办法在回调中阻止这个改变发生。

      5、HTML5 Storage看起来不错,那它有没什么缺点呢?好问题。要说HTML5 Storage的 缺点,唯一的问题就是它默认的QUOTA只有5MB,并且你没办法通过程序自行或是提 示用户来增加存储空间。唯一的办法就是用户自己打开 浏览器的设置,并手动修 改QUOTA的大小,如果超出了5MB的限制,你将会遇到一个“QUOTA_EXCEEDED_ERR”的 错误。WebWeb SQLSQL DatabaseDatabaseWeb SQL Database是一个已经废弃的规范,但是鉴于除了IE和Firefox,其他浏览 器都已经实现了Web SQL Database,并且它还具有一些HTML5 Storage所不具有的 特性,所以还是值得了解一下的。Web SQL Database就像它的名字那样,就是一个让你可以在Web上直接使用的SQL数 据库,你要做的就是打开数据库,然后执行SQL,和你对Mysql做的事情没什么两样:代码 openDatabase(documents, 1.0, Local document storage, 5*1024*1024, function (db) d

      6、b.changeVersion(, 1.0, function (t) t.executeSql(CREATE TABLE docids (id, name); , error); ); 关于Web SQL Database的更多介绍,可以参看这篇指南。但是它的缺点也同样明显。最大的问题就出在SQL上,实际上并不存在一种叫做SQL 的标准结构化查询语言,我们平常使用的实际上是MS SQL、Oracle SQL、MySQL SQL、postgre SQL或者SQLite SQL(尽管有一个叫做SQL-92的规范,但它基本形同 虚设),更进一步,甚至都不存在SQLite SQL,我们使用的实际上是SQLite x.y.z SQL,而这也就是Web SQL Database最大的问题,它无法统一各个浏览器厂商实现 的SQL语言,如果你的某条Web SQL查询只能在Chrome上运行,这还能叫做标准吗?所以,如果你现在访问Web SQL Database的规范页面,你会在顶部看到这样一则声 明: 这个规范已经陷入了一个僵局:目前的所有实现都是基于同一个SQL后端 (SQLite),但是我们需要

      7、更多的独立实现来完成标准化,所以除非有厂商愿意独 立实现这个规范,否则当前的SQL规范只能采用SQLite的SQL方言,而作为一个标准, 这是不可接受的。IndexedDBIndexedDB最后我们要介绍的就是IndexedDB了,相比其他两个规范,目前只有Firefox实现了 IndexedDB(顺便提一下,Mozilla表示它们永远不会去实现Web SQL Database), 不过Google已经表示正在考虑在Chrome中加入IndexDB支持。IndexedDB引入了一个object store的概念,这有点像是一个SQL Database,你可 以在“数据库”中存储“记录”,并且每条“记录”可以拥有很多“字段“,每个字段都有 一个特定的数据类型,你可以选择记录的子集, 并使用“光标”进行遍历,同时 object store中的所有变更都是基于“事务”的。下面让我们来看一个小例子: 代码 var request = window.indexedDB.open(“CandyDB“, “My candy store database“); request.onsuccess =

      8、function(event) var db = event.result; if (db.version != “1“) / Users first visit, initialize database. var createdObjectStoreCount = 0; var objectStores = name: “kids“, keyPath: “id“, autoIncrement: true , name: “candy“, keyPath: “id“, autoIncrement: true , name: “candySales“, keyPath: “, autoIncrement: true ; function objectStoreCreated(event) if (+createdObjectStoreCount = objectStores.length) db.setVersion(“1“).onsuccess = function(event) loadData(db); ; for (var index = 0; index objectStores.length; index+) var params = objectStoresindex; request = db.createObjectStore(params.name, params.keyPath, params.autoIncrement); request.onsuccess = objectStoreCreated; else / User has been here before, no initialization required. loadData(db); ; 编辑推荐:这篇文章参考黑客志,对HTML5的本次存储方式进行了非常全面的介绍和分析,对 于学习HTML5的开发者来说,不容错过哦。

      《html5本地存储不完全指南》由会员m****分享,可在线阅读,更多相关《html5本地存储不完全指南》请在金锄头文库上搜索。

      点击阅读更多内容
    TA的资源
  • 肿瘤学发展简史

    肿瘤学发展简史

  • 综合实践课折纸ppt

    综合实践课折纸ppt

  • 综合实践张开想象的翅膀

    综合实践张开想象的翅膀

  • 综合实践课走进粤菜

    综合实践课走进粤菜

  • 综合性学习走进中秋节

    综合性学习走进中秋节

  • 1986--2008年全国硕士研究生入学统一考试英语试题及解析

    1986--2008年全国硕士研究生入学统一考试英语试题及解析

  • 2020版高考数学一轮复习第一章集合与常用逻辑用语第二节命题及其关系充分条件与必要条件课件

    2020版高考数学一轮复习第一章集合与常用逻辑用语第二节命题及其关系充分条件与必要条件课件

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第四节函数的图象课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第四节函数的图象课件理

  • 2020版高考数学一轮复习第一章集合与常用逻辑用语第三节简单的逻辑联结词全称量词与存在量词课件理

    2020版高考数学一轮复习第一章集合与常用逻辑用语第三节简单的逻辑联结词全称量词与存在量词课件理

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第五节二次函数与幂函数课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第五节二次函数与幂函数课件理

  • 2020版高考数学一轮复习第二章不等式第二节一元二次不等式及其解法课件

    2020版高考数学一轮复习第二章不等式第二节一元二次不等式及其解法课件

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第七节对数与对数函数课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第七节对数与对数函数课件理

  • 2020版高考数学一轮复习第二章不等式第四节二元一次不等式组及简单的线性规划问题课件

    2020版高考数学一轮复习第二章不等式第四节二元一次不等式组及简单的线性规划问题课件

  • 2020版高考数学一轮复习第二章不等式第一节不等关系与不等式课件

    2020版高考数学一轮复习第二章不等式第一节不等关系与不等式课件

  • 2020版高考数学一轮复习第二章不等式第三节绝对值不等式课件

    2020版高考数学一轮复习第二章不等式第三节绝对值不等式课件

  • 2020版高考历史一轮复习第五单元古代中国经济的基本结构与特点第1讲古代中国的农业和手工业课件新人教版必修

    2020版高考历史一轮复习第五单元古代中国经济的基本结构与特点第1讲古代中国的农业和手工业课件新人教版必修

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第三节函数的奇偶性及周期性课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第三节函数的奇偶性及周期性课件理

  • 2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第九节函数模型及其应用课件理

    2020版高考数学一轮复习第二章函数的概念与基本初等函数Ⅰ第九节函数模型及其应用课件理

  • 2020版高考数学一轮复习第二章不等式第五节基本不等式课件

    2020版高考数学一轮复习第二章不等式第五节基本不等式课件

  • 2020版高考历史一轮复习第十三单元近现代中国的思想解放及理论成果和科教文化第3讲现代中国的科技教育与文学艺术课件新人教版必修

    2020版高考历史一轮复习第十三单元近现代中国的思想解放及理论成果和科教文化第3讲现代中国的科技教育与文学艺术课件新人教版必修

  • 点击查看更多
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.