语义化标签
语义化标签指的是仅仅从标签来看就能看出页面的大致结构,也有利于SEO。
| 描述 | 属性 |
|---|---|
| 定义文档的头部区域 | |
| 定义文档的尾部区域 | |
| 定义文档的导航区域 | |
| 定义文档的段落 | |
| 定义页面独立的内容区域 | |
| 定义页面侧边栏内容 | |
| 定义命令按钮 | |
| 标签包含 details 元素的标题 | |
| 定义对话框 |
增强型表单
- 提供了新的输入型控件,如:number、url、email、range、color、date等,通过input的type属性使用。
添加了新的表单属性:
新增的
getElementByClassName()方法: ```javascript //取得类中包含”username”和”current”的元素 var allCurrentUsernames = document.getElementByClassName(“username current”)
//取得id为”myDiv”的元素中带有类名”selected”的所有元素 var selected = document.getElementById(“myDiv”).getElementsByClassName(“selected”)
2. 可以为元素添加非标准的属性,但要加前缀**data-**,为元素提供与渲染无关的信息;可以通过元素的**dataset**属性访问自定义属性的值。<a name="qcS0R"></a># 原生Drag & Drop拖放拖放被加入标准中。<a name="iYWdH"></a># 音频与视频音频:`<audio>`<br />视频:`<video>````javascript<!-- 视频 --><video src="video.mp4" id="myVideo">Video Player</video><!-- 音频 --><audio src="song.mp3" id="myAudio">Audio Player</audio>
Web Socket
Web Storage
sessionStorage和localStorage提供了除cookie之外在客户端存储数据的途径;大容量。
地理位置
Geolocation API在浏览器中的实现是navigator.geolocation对象
Canvas绘图
要使用<canvas>元素,必须先设置其width和height属性,指定可以绘图的区域大小。
| Canvas | SVG |
|---|---|
| 与分辨率相关(可以理解为位图,图形放大会失真看到一个个像素点) | 与分辨率无关(可以理解为矢量,图形放大不会失真) |
| 不支持事件处理程序 | 支持事件处理程序 |
| 文字呈现功能比较简单 | 最适合具有大型渲染区域地应用程序(如Google地图) |
| 可以将生成的图像保存为.png或.jpg | 如果复杂地话渲染速度慢(其实任何使用DOM的东西都会很慢) |
| 非常适合图形密集性游戏 | 不适合游戏应用程序 |
桌面通知Notification API
Application Cache 应用程序缓存
postMessage
参考资料:
postMessage是HTML5中新引入的API,它可以实现跨窗口以及跨域的通信。postMessage类似Ajax但是它不受同源策略的限制并且通信双方都是客户端。
相关API介绍
发送数据
receiveMessageWindow.postMessage(data, origin[, transfer]])
receiveMessageWindow是接收数据的一方,可以是:
iframe的contentWindow
<body><iframe class="childIframe" scr="http://XXX:8080"></iframe><script>// 获取iframe的contentWindowconst win = document.querySelector('.childIframe').contentWindow</script></body>
执行window.open()方法返回的对象
<body><script>// 获取window.open()打开窗口的引用const win = window.open('http://XXX:8888')</script></body>
window.frames
<body><script>const iframes = window.frames</script></body>
data表示将要发送到其他 window的数据,无需自己序列化。origin可以指定哪些窗口可以接收到该消息事件,可以是:“*”:表示不受限制
- URL地址:表示只有该URL地址的窗口才能接收到消息。
transfer是一串和message同时传递的Transferable对象.这些对象的所有权将被转移给消息的接收方,而发送一方将不再保有所有权。
接收数据
监听message事件,语法如下:
window.addEventListener('message', (e) => {// ...})
在接收到的事件对象中有三个重要的属性:
