HTML5新增了哪些新特性?移除了哪些元素?怎么处理HTML5新标签兼容问题?HTML5的离线储存的工作原理、 如何使用,浏览器是怎么对HTML5的离线储存资源进行管理和加载的

HTML5新增了哪些新特性?

HTML5现在已经不是 SGML 的子集,主要是关于图像、位置、存储、多任务等功能的增加:

  • 语意化更好的内容元素, 比如 article 、 footer 、 header 、 nav 、 section
  • 用于媒介回放的 video 和 audio 元素
  • 绘画画布canvas
  • 表单控件, calendar 、 date 、 time 、 email 、 url 、 search
  • 地理
  • 本地离线存储,localStorage长期存储数据,浏览器关闭后数据不丢失,sessionStorage的数据在浏览器关闭后自动删除
  • 拖拽释放
  • 新的技术 webworker 、 websocket 、 Geolocation

HTML5移除了哪些元素?

  • 纯表现的元素:basefont、font、s、strike、tt、u、big、center
  • 对可用性产生负面影响的元素:frame、frameset、noframes

支持 HTML5 新标签:

  • IE8/IE7/IE6 支持通过 document.createElement 方法产生的标签
  • 可以利用这一特性让这些浏览器支持 HTML5 新标签 浏览器支持新标签后, 还需要添加标签默认的样式
  • 当然也可以直接使用成熟的框架 、比如 html5shim

怎么处理HTML5新标签兼容问题?

主要有两种方式:

实现标签被识别: 通过document.createElement(tagName)方法可以让浏览器识别新的标签,浏览器支持新标签后。还可以为新标签添加CSS样式

用JavaScript解决: 使用HTML5的shim框架,在head标签中调用以下代码:

<!--[if lt IE 9]>
    <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->

HTML5的离线储存

在用户没有与因特网连接时, 可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

工作原理

HTML5 的离线存储是基于一个新建的 .appcache 文件的缓存机制(不是存储技 术), 通过这个文件上的解析清单离线存储资源, 这些资源就会像 cookie 一样被存储了下 来。之后当网络在处于离线状态下时, 浏览器会通过被离线存储的数据进行页面展示。

如何使用

页面头部像下面一样加入一个 manifest 的属性;
在 cache.manifest 文件的编写离线存储的资源
在离线状态时, 操作 window.applicationCache 进行需求实现

CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png FALLBACK: /offline.html

HTML5离线储存资源进行管理和加载

在线的情况下, 浏览器发现 html 头部有 manifest 属性, 它会请求 manifest 文件。

如果是第一次访问 app ,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储 。

如果已经访问过 app 并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的 manifest 文件与旧的 manifest 文件, 如果文件没有发生改变,就不做任何操作, 如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。

离线的情况下, 浏览器就直接使用离线存储的资源。

持续学习总结记录中,回顾一下上面的内容:
HTML5新增了哪些新特性?移除了哪些元素?怎么处理HTML5新标签兼容问题?HTML5的离线储存的工作原理、 如何使用,浏览器是怎么对HTML5的离线储存资源进行管理和加载的

你可能感兴趣的:(知识点,#,HTML+CSS知识点,html5,前端,html)