HTML5新特性

(一)  语义化标签

 header,footer,section,article,aside,date,address等等

1.优化代码结构,增强代码的可读性,便于团队维护和开发

2.便于搜索引擎对页面上各部分权重的判断

3.方便其他设备的解析(移动端、阅读器等等)

(二)  Input输入框类型

email、url、number、color、date等等

(三)  表单元素和表单属性

<datalist>:数据列表、<progress>:进度条、<meter>:刻度尺、   <output>:输出内容等等

 属性:placeholder:占位提示文字,mutiple:是否允许多个输入,autofocus:自动获得焦点等等

(四)  视频和音频标签                 

vidoe、audio

WEB中可用的绘图技术:

(1)Canvas绘图:H5原生技术,基于网页画布绘制2D位图绘图技术,善于表现细腻颜色

(2)SVG绘图:H5借鉴技术,基于SVG绘图空间绘制2D矢量图绘图技术,缩放不会失真

(3)WebGL绘图:尚不是H5标准技术,基于HTML5 Canvas提供硬件3D加速渲染;有一个非常强大3D扩展库:three.js

(五)Canvas绘图         

1.HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像

2.画布是一个矩形区域,您可以控制其每一像素

3.canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法

(六)SVG绘图         

Scalable Vector Graphic,可缩放向量图

纳入H5标准后的使用方法:SVG标签可以直接书写在网页中。

Canvas与SVG的不同:

(1)Canvas是位图;SVG是矢量图

(2)Canvas是JS绘图技术(不是DOM元素);SVG是标签绘图技术(是DOM元素)

(3)Canvas内容不能使用CSS;SVG内容可以使用CSS;

(4) Canvas内容不方便绑定事件处理;SVG内容方便进行事件绑定
位图:由像素点构成,放大会失真,色彩丰富
矢量图:由几何特征绘制,放大缩小不失真,色彩较少

(七)地理定位

  通过浏览器获取当前用户的所在地理坐标,以实现“LBS服务”(Location Based Service),如实时导航、周边推荐。

(八)拖放API       

    H5之前没有拖放API,可以使用“鼠标按下 + 鼠标移动”两个事件来模拟用户拖动事件。

    H5之后可以对元素的拖放进行设置。

(九) WebStorage   

    Web项目存储数据常用的方案:

   (1)服务器端存储

   1.数据库存储,如商品、用户等核心数据

   2.Session,如用户的登录信息

  (2)客户端存储

  3.Cookie存储,如用户偏好、访问历史,浏览器兼容性好但处理麻烦且容量限制

  4.H5 WebStorage存储,如用户偏好、访问历史等安全要求的数据易使用且容量大

(十) Web Worker       

javascript 是单线程的语言,当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成,web worker是一个独立于主线程之外的辅助线程,该线程可以加载和运行JS文件。无法访问Window对象和Document对象,和主线程之间的通信也只能通过异步通讯实现。     

背景:Chrome浏览器中发起资源请求的有6个线程;但是只有1个线程负责渲染页面——称为UI主线程——浏览器中所有的代码只能由一个线程来执行。

 问题:若浏览器加载了一个很耗时的JS文件(可能影响DOM树结构),浏览器必须等待该文件执行完成才会继续执行后续的代码(HTML/CSS/JS等)——如果一个JS文件要执行10s(可能有很深的循环/递归等科学计算/解密),会发生什么?——执行耗时JS任务过程中,会暂停页面中一切内容的渲染以及事件的处理。

解决方案:H5新特性——Web Worker

Worker的本质:就是一个执行指定任务的独立线程;且该线程可以与UI主线程进行消息数据传递。

(十一)Web Socket

1.WebSocket 是 建立在 TCP 连接上进行全双工通讯协议。
2.WebSocket 允许服务端主动向客户端推送数据。
3.在 WebSocket 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

1.全双工,客户端与服务端可以同时相互通信,就如同打电话一样,两边可以同时说话。
2.允许服务端主动向客户端发数据,在以往的通信中是客户端向服务端发送请求,服务端再回复给客户端,一切起源只能是客户端的request,服务端无法主动发送信息给客户端;在websocket中,则可以服务端主动给客户端发送信息。
3.持久性,当服务端跟客户端通信连接成功(即建立起一个管道),这个管道将会一直存在,随时可以传送数据,无需在request。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天都在掉头发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值