Html5新增了哪些功能


Posted in HTML / CSS onApril 16, 2021

介绍

HTML5 是下一代的 HTML, 将成为 HTML、XHTML 以及 HTML DOM 的新标准。

起步

HTML5 是 W3C 与 WHATWG 合作的结果。

为 HTML5 建立的一些规则:

  • 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。
  • 减少对外部插件的需求(比如 Flash)
  • 更优秀的错误处理
  • 更多取代脚本的标记
  • HTML5 应该独立于设备
  • 开发进程应对公众透明

浏览器支持

最新版本的 Chrome、Firefox、Safari以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。国内的 遨游浏览器(Maxthon),以及基于IE或Chromium(Chrome的工程版或称实验版)所推出的360浏览器、搜狗浏览器、QQ浏览器、猎豹 浏览器等国产浏览器同样具备支持HTML5的能力。

新特性

HTML5 中新增的一些有趣的新特性:

1、语义化标签 header footer nav aside section meau template article audio video canvas 等

2、webStorage 储存机制 sessionStorage 和 localStorage

  • webStorage: 使用HTML5可以在本地存储用户的浏览数据。早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速,这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上。它也可以存储大量的数据,而不影响网站的性能。数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

      Web Storage又分为两种: sessionStorage 和localStorage ,即这两个是Storage的一个实例。从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了;而localStorage则一直将数据保存在客户端本地。其API提供的方法有以下几种:

setItem (key, value) ——  保存数据,以键值对的方式储存信息。

getItem (key) ——  获取数据,将键值传入,即可获取到对应的value值。

removeItem (key) ——  删除单个数据,根据键值移除对应的信息。

clear () ——  删除所有的数据

key (index) —— 获取某个索引的key
  • localStorage:没有时间限制的数据存储

      localStorage的生命周期是永久性的。假若使用localStorage存储数据,即使关闭浏览器,也不会让数据消失,除非主动的去删除数据,使用的方法如上所示。localStorage有length属性,可以查看其有多少条记录的数据。使用方法如下:

var storage = null;                          //判断浏览器是否支持localStorage
    if(window.localStorage){
        storage.setItem("name", "Rick");     //调用setItem方法,存储数据
            alert(storage.getItem("name"));  //调用getItem方法,弹框显示 name 为 Rick
            storage.removeItem("name");      //调用removeItem方法,移除数据
            alert(storage.getItem("name"));  //调用getItem方法,弹框显示 name 为 null
    }
  • sessionStorage:针对一个 session 的数据存储

      sessionStorage 的生命周期是在浏览器关闭前。也就是说,在整个浏览器未关闭前,其数据一直都是存在的。sessionStorage也有length属性,其基本的判断和使用方法和localStorage的使用是一致的。需要注意的有以下几点:
     (1) 页面刷新不会消除数据;
     (2) 只有在当前页面打开的链接,才可以访sessionStorage的数据;
     (3) 使用window.open打开页面和改变localtion.href方式都可以获取到sessionStorage内部的数据;

3、history 对象
history 对象保存着用户上网的历史记录,从窗口被打开的那一刻算起。
使用 go( ) 方法可以在用户的历史记录中任意跳转,可以向后,也可以向前。
这个方法接受一个参数,表示向后或向前跳转的页面数的一个整数值。
负数表示向后跳转(类似于单机浏览器的“后退”按钮)
正数表示向前跳转(类似于单机浏览器的“前进”按钮)

history.go(-1) // 后退一页 
history.go(1) // 前进一页 
history.go(2) // 前进两页

还可以给go()方法传递一个字符串参数,此时浏览器会跳转到历史记录中包含该字符串的第一个位置-----可能前进,也可能后退。具体看哪个位置最近。 如果历史记录中不包含该字符串,那么这个方法什么也不做

history.go('wrox.com') // 调到最近的 wrox.com 页面

也可以使用两个简写方法 back( ) 和 forward( ) 来代替 go( ) 。这两个方法都可以模仿浏览器的“后退”和“前进”按钮。

history.back() // 后退一页
history.forward() // 前进一页

4、新增的表单元素 input datalist datetime date month week time color number email address range tel url search 等

5、多媒体,用于回放的 video 和 audio 元素

6、用于绘画的 canvas

以上就是Html5新增了哪些功能的详细内容,更多关于Html5新功能的资料请关注三水点靠木其它相关文章!

 
HTML / CSS 相关文章推荐
css3 iphone玻璃透明气泡完美实现
Mar 20 HTML / CSS
css3让div随鼠标移动而抖动起来
Feb 10 HTML / CSS
纯CSS实现菜单、导航栏的3D翻转动画效果
Apr 23 HTML / CSS
CSS改变网页中鼠标选中文字背景颜色例子
Apr 23 HTML / CSS
使用CSS变量实现炫酷惊人的悬浮效果
Apr 26 HTML / CSS
使用Canvas操作像素的方法
Jun 14 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
Jan 02 HTML / CSS
HTML5在IE10、火狐下中文乱码问题的解决方法
Nov 18 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
Sep 18 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
HTML5实现移动端点击翻牌功能
Oct 23 HTML / CSS
使用CSS实现一个搜索引擎的原理解析
Sep 25 HTML / CSS
Html5调用企业微信的实现
Apr 16 #HTML / CSS
CSS3 制作的图片滚动效果
CSS3常见动画的实现方式
Apr 14 #HTML / CSS
CSS3实现的水平标题菜单
Apr 14 #HTML / CSS
HTML页面滚动时部分内容位置固定不滚动的实现
详解Html5项目适配系统深色模式方案总结
Apr 14 #HTML / CSS
css3实现背景图片半透明内容不透明的方法示例
You might like
PHP取二进制文件头快速判断文件类型的实现代码
2013/08/05 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
smarty缓存用法分析
2014/12/16 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
js实现兼容IE6与IE7的DIV高度
2010/05/13 Javascript
extjs 时间范围选择自动判断的实现代码
2014/06/24 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
2017/03/04 Javascript
关于angular js_$watch监控属性和对象详解
2017/04/24 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
XMLHttpRequest对象_Ajax异步请求重点(推荐)
2017/09/28 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
微信小程序云开发之新手环境配置
2019/05/16 Javascript
浅谈python中的实例方法、类方法和静态方法
2017/02/17 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
金鑫耀Java笔试题
2014/09/06 面试题
Java面试题汇总
2015/12/06 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
化学相关工作求职信
2013/10/02 职场文书
同学聚会祝酒词
2015/08/10 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
Python数据分析入门之教你怎么搭建环境
2021/05/13 Python
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL