语义化标签
语义化标签指的是仅仅从标签来看就能看出页面的大致结构,也有利于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的contentWindow
const 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) => {
// ...
})
在接收到的事件对象中有三个重要的属性: