HTML5(目前)无法帮你实现的五件事

一直以来,很多人都专注于HTML5能够实现什么(或者是如何将各种方法连接起来,实现一个更加优雅的解决方案)。而现在,也不少人想将目光投向那些HTML5无法实现的事情。MSDN上微软员工thebeebs的一篇博文回答了这个问题:

用HTML5轻松完成数据存储

网络存储(Web Storage),是HTML5众多新API中的一类,它要求浏览器提供了一个在用户浏览器上存储数据的方式,而开发者则可以使用JavaScript进行访问和控制。网络存储的存取过程与远端服务器无关,整个过程都发生在用户的浏览器之上。比起Cookies这样极其有限的存储方式,网络存储的空间通常要大很多(IE8的空间为10MB左右);另外,网络存储的访问方式比起Cookies要简单很多。

  本文的代码均来自http://html5doctor.com/storing-data-the-simple-html5-way-and-a-few-tricks-you-might-not-have-known/ ,如果您在技术细节上有任何疑问,请以原文为准。

网络存储分为两种:本地存储(localStorage)和会话存储(sessionStorage)。这两种存储模式的最大区别在于,本地存储是持久性的存储,该存储只有在用户清理浏览器存储或通过代码进行清理时,才会被删除;而会话存储的生命周期仅仅限定在会话期间,一旦用户关闭浏览器或相关标签,数据即刻清除。值得注意的是,会话存储的存储界限通常都只是标签页级别,同一个域的其它标签页网页,无法共享数据。

数据存取

网络存储是一种键值对的存储方式,在数据的存取方面,两种网络存储没有任何差别。下面来看看数据的存储方法:

  • .setItem(key, value)
  • .getItem(key)
  • .removeItem(key)
  • .clear()
  • .key(index)
  • .length
    由于这套API是基于JavaScript的,因此其使用方法极为容易,甚至可以采取这样的方式进行:
1
localStorage.name = 'Remy';

HTML5之拖拽下载

拖拽曾是Windows当中一项非常人性化的操作方式,但在最近几年当中,这种操作方式似乎逐渐变得不再稀奇了。而HTML5对拖拽支持的出现,则让拖拽重新回到了人们的视野当中。