在HTML5 中定义了两种本地存储的,Web Storage 和本地数据库 SQL Database .
  用来检查判断浏览器是否支持 Web Storage
  if(window.localStorage){
    //浏览器支持localStorage
  }
  if(window.sessionStorage){
    //浏览器支持sessionStorage
  }

localStorage 主要作用是将数据保存在客户端中,也就是用户的计算机上。 是基于域的,在该域的任何网页都可以访问,在不同设备上存储的是不同的。
  在本地存储一个字符串类型的数据 key/value setItem
    localStorage.setItem("name","非一般的黑客")
  通过getItem 方法读取key 值为name的值。
    localStorage.getItem("name")
  也可以通过索引去读取,localStorage.key(1)
  删除指定key为“name”的item
    localStorage.removeItem("name")
  删除localStorage 所有key/value

存储JSON 格式的数据
  //定义JSON 格式字符串。
    var userData ={
      name:"Sankyu Name",
      account:"sankyu",
      level:1,
      disabled:true
    }
  //存储userData 数据。
    localStorage.setItem("userData",JSON.stringify(userData));
  //读取userdata 数据并赋值给新变量newUserData
    var newUserDta = JSON.parse(localStorage.getItem("userData"))
  //删除本地存储的item
    localStorage.removeItem("userData")
  //输出对象
    alert(newUserData);

采用重新设置的item 方案修改JSON 对象数据。

  //定义JSON 格式字符串。
    var userData ={
      name:"Sankyu Name",
      account:"sankyu",
      level:1,
      disabled:true
  }
  //存储userData 数据。
    localStorage.setItem("userData",JSON.stringify(userData));

  //读取userdata 数据并赋值给新变量newUserData
    var newUserDta = JSON.parse(localStorage.getItem("userData"));

    userData.name = "new Sankyu Name";

    localStorage.setItem("userData",JSON.stringify(userData))

    alert(userData.name)

    alert(JSON.parse(localStorage.getItem("userData")).name);

    采用点语法更新JSON 对象内数据

 //定义JSON 格式字符串。
    var userData ={
      name:"Sankyu Name",
      account:"sankyu",
      level:1,
      disabled:true
    }

//存储userData 数据。
    localStorage.setItem("userData",JSON.stringify(userData));

  //读取userdata 数据并赋值给新变量newUserData
    var newUserDta = JSON.parse(localStorage.getItem("userData"))

    JSON.parse(localStorage.getItem("userData")).name = "new Sankyu Name";

    userData.name = "new Sankyu Name";

    alert(userData.name)

    alert(JSON.parse(localStorage.getItem("userData")).name);

sessionStorage主要作用是将数据保存在当前回话中,存储的数据的生命周期只保存在存储的当前窗口或由当前窗口
    新建的新窗口,直到想关联的标签页关闭。

    Storage 事件监听
      创建一个页面该页面的主要功能是操作LocalStorage
      window.onload = function(){
          localStorage.clear();
          localStorage.setItem("userData","storage demo");
          localStorage.setItem("userData","storage event demo");
      };
  新增一个页面:
    window.onload = function (){
      window.addEventListener("storage",function(e){
        console.log(e);
      },true)
    }

离线应用:

  离线与缓存, 都是为了更好地缓存各种文件以提高读取的速度, 网页缓存依赖于网络的存在,二离线应用在离线下仍然可以。
  页面缓存主要是缓存当前页面的相关内容,页仅限于当前页面的读取。
  if(window.applicationCache){
    //浏览器支持离线应用,在此编写离线应用功能。
  }
  mainfest 文件、
    <html mainfwst="cache.manifest">

  applicationCache 对象和事件。
  applicationCache 对象记录着本地缓存的各种状态及事件,可以通过 window.applicationCache.status 获得。

HTML5表单元素。
  1.form 属性。
    <input form=testform> 外部的<input>就属于form 表单范围。
  2.placeholder 属性 未输入状态下给出文本框的提示内容。
    <input type="text" placeholder="请输入内容"/>
  3. autofocus 控件自动获得焦点。
    <input type="text" autofocus>
  4.required 必填属性,如果表单中存在required 属性的元素时,如果元素为空,则无法提交表单。
    <input type="text" required/>                                  
移动web表单的input类型,
  1.search 主要用于搜索关键词的文本框类型。外观为圆角文本框。
  2.email 主要用于输入E-mail 地址的文本框,会根据当前的文本框类型显示想对应的键盘。
  3.numner 主要用于输入数字的文本框类型, 可以配合min 属性 max 属性,以及step 属性。
  4.range 主要是一种数值范围输入文本框, 一种滑动输入方式,需要配合 min max range 等属性使用。ios Android 内置浏览器都不支持。
  5.tel 主要是一种供用户输入电话号码的文本框, 提供数字键盘输入法。
  6.url 主要是一种输入URL 地址的文本框类型, 提供的输入法是网址输入法键盘。

  不是广泛支持的 input 类型
    datetime 类型,日期和时间文本框(含时区)。
    datetime-local 类型,日期和时间文本框(不含时区)。
    Time 类型,时间选择器文本框。
    Date 类型, 日期选择器文本框。
    Week 类型,年的周号选择器。
    Month 类型,月份选择器。

HTML5规范的本地存储的更多相关文章

  1. HTML5新增的本地存储功能(笔记)

    HTML5新增的本地存储功能分为两种,分别对应两个JS对象:①本地存储对应localStorage对象,主要用于长期保存整个网站的数据(这些数据可以永久保存在客户端电脑硬盘内).②会话存储对应sess ...

  2. HTML5教程之本地存储SessionStorage

    SessionStorage: 将数据保存在session对象中,所谓session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间会话,也就是用户浏览这个网站所花费的时间就是sess ...

  3. HTML5 使用localstorage 本地存储

    HTML 本地存储介绍 最早的 Cookies 自然是大家都知道,问题主要就是太小,大概也就 4KB 的样子,而且 IE6 只支持每个域名20个cookies,太少了.优势就是大家都支持,而且支持得还 ...

  4. HTML5学习总结——本地存储

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  5. HTML5开发学习:本地存储Web Sql Database

       Web Sql Database,中文翻译作"本地数据库",是随着HTML5规范加入的在浏览器端运行的轻量级数据库.    在HTML5中,大大丰富了客户端本地可以存储的内容 ...

  6. 初识html5的localStorage本地存储

    一.概述 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是 ...

  7. HTML5 JS API 本地存储LocalStorage基本操作

    LocalStorage:使用方法与SessionStorage如出一辙,如下代码所示:此对象主要有两个方法:保存数据:localStorage.setItem(Key, value);读取数据:lo ...

  8. Html5中的本地存储

    Web Storage web storage页面存储是html5为数据存储在客户端提供的一项重要功能,由于web storage API能够区分会话数据与长期数据.因此,相应API也分为两种: se ...

  9. html5画图和本地存储

    <!DOCTYPE HTML><html><body> <canvas id="myCanvas" width="200&quo ...

随机推荐

  1. c++11信号量实现

    c++11中有 mutex (互斥量),有 condition_variable (条件变量),并没有 semaphore (信号量).信号量,操作系统中一般都有提,后来 google 说可以使用 m ...

  2. 2.1CUDA-Thread

    在HOST端我们会分配block的dimension, grid的dimension.但是对应到实际的硬件是如何执行这些硬件的呢? 如下图: lanuch kernel 执行一个grid. 一个Gri ...

  3. 使用Dom4j生成xml文件

    场景:使用dom4j生成以下xml文件 <?xml version="1.0" encoding="UTF-8"?> <result> ...

  4. POJ2411 - Mondriaan's Dream(状态压缩DP)

    题目大意 给定一个N*M大小的地板,要求你用1*2大小的砖块把地板铺满,问你有多少种方案? 题解 刚开始时看的是挑战程序设计竞赛上的关于铺砖块问题的讲解,研究一两天楞是没明白它代码是怎么写的,智商捉急 ...

  5. ubuntu 的 apt-get update 出现404错误时,ubuntu 版本也 end of life 了的解决方案

    xmodulo.com/how-to-fix-apt-get-update-error-on-ubuntu.html 如果是依赖没找到,可以用 sudo apt-get install -f 先补齐依 ...

  6. Guide to make CentOS 7 the perfect desktop

    原文地址:  http://www.dedoimedo.com/computers/fedora-pimp.html My original review of CentOS 7 was less e ...

  7. JAVA js的escape函数、解析用js encodeURI编码的字符串、utf8转gb2312的函数

    在使用webView时,如果url中参数有中文的话,拦截到的字符串就会类似这样的:http://api.letstar.cn/zq/news.html?id=20&cupName=%E6%B5 ...

  8. Postfix配置Q&A

    原文地址:http://space.doit.com.cn/51460/viewspace-4943.html 在配置Postfix中遇到的一些问题及相关的解决方法,希望在遇到相同的问题时能起参考的作 ...

  9. 从零开始学android开发-IDE空间不够报错

    E:\ProSoft\adt-bundle-windows-x86-20140321\eclipse目录下 右键eclipse用记事本打开 可以设置运行的最大的运行空间

  10. PHP函数ip2long转换IP时数值太大产生负数的解决办法

    有两种办法: 1. bindec( decbin($long))  利用bindec和decbin两个函数转换一次就没有问题了 我一直在用上面的方法,但是在升级到PHP7以后就不起作用了(因为最近只进 ...