html5新特性 [摘抄地址 https://zhuanlan.zhihu.com/p/22606894]
1.标签的语义化 ,比如 : header,footrt ,nav等 添加了很多新的表单元素,
2.音频元素 ,video,andio的增加可以不再需要依赖外部的插件在网页中加入音频
3.新加入的api 比如 获取用户的地理位置 window.navigator.geoloaction [查阅更多]
4.websocket是一种协议 ,可以让我们建立客户端到服务器端的全双工通信,这就意味着服务器端可以主动推送数据到客户端,
5.本地存储包括localeStorage[永久缓存]和sessionStorage[临时],
6.缓存 html5可以控制那些文件需要缓存 , 哪些不需要,具体如下 :
1、首先给html添加manifest属性,并赋值为cache.manifest 2、cache.manifest的内容为: CACHE MANIFEST #v1.2 CACHE : //表示需要缓存的文件 a.js b.js NETWORK: //表示只在用户在线的时候才需要的文件,不会缓存 c.js FALLBACK / /index.html //表示如果找不到第一个资源就用第二个资源代替
7.html5对标签语义理解 : 不同的标签使用在指定的页面位置 , 便于圆度和理解 ,
8.关于cookie,sessionStrorage,localleStorage的区别
并且随浏览器的请求一起发送到服务器端的,它有一定的过期时间,到了过期时间自动会消失。sessionStorage和localeStorage也是存储在客户端的,同属于web Storage,比cookie的存储大小要大有8m,cookie只有4kb,localeStorage是持久化的存储在客户端,如果用户不手动清除的话,不会自动消失,会一直存在,sessionStorage也是存储在客户端,但是它的存活时间是在一个回话期间,只要浏览器的回话关闭了就会自动消失。
9.多个页面通讯可以使用cookie,使用web worker,使用localeStorage和sessionStorage
10. 浏览器的渲染过程 :
(1)、首先获取html,然后构建dom树
(2)、其次根据css构建render树,render树中不包含定位和几何信息
(3)、最后构建布局数,布局是含有元素的定位和几何信息
重构和回流的理解
浏览器的重构指的是改变每个元素外观时所触发的浏览器行为,比如颜色,背景等样式发生了改变而进行的重新构造新外观的过程。重构不会引发页面的重新布局,不一定伴随着回流,
回流指的是浏览器为了重新渲染页面的需要而进行的重新计算元素的几何大小和位置的,他的开销是非常大的,回流可以理解为渲染树需要重新进行计算,一般最好触发元素的重构,避免元素的回流;比如通过通过添加类来添加css样式,而不是直接在DOM上设置,当需要操作某一块元素时候,最好使其脱离文档流,这样就不会引起回流了,比如设置position:absolute或者fixed,或者display:none,等操作结束后在显示。