HTML5引入了许多新特性,包括更好的表单输入类型、地理位置API、Canvas绘图、离线应用程序缓存等。以下是一些HTML5的功能和示例代码:
- 地理位置API (Geolocation API)
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(function(position) {
console.log("Latitude is :", position.coords.latitude);
console.log("Longitude is :", position.coords.longitude);
});
} else {
console.log("Geolocation is not supported by this browser.");
}
- 画布绘图 (Canvas)
<canvas id="myCanvas" width="200" height="100"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#FF0000';
ctx.fillRect(0, 0, 150, 75);
</script>
- 多媒体标签 (<audio> 和 <video>)
<!-- Audio -->
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<!-- Video -->
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
- 表单输入类型 (如email, url, number, range, date, datetime, datetime-local, month, week, time, search)
<form>
Email: <input type="email" name="user_email">
URL: <input type="url" name="user_url">
Number: <input type="number" name="user_number" min="1" max="5" step="1">
Range: <input type="range" name="user_range" min="1" max="10">
Search: <input type="search" name="user_search">
<input type="submit">
</form>
- 离线应用程序 (Application Cache)
<!DOCTYPE HTML>
<html manifest="example.appcache">
...
- 新的表格元素 (如caption, thead, tbody, col, colgroup)
<table>
<caption>Table caption here</caption>
<thead>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>Row 1, Cell 1</td>
<td>Row 1, Cell 2</td>
</tr>
<tr>
<td>Row 2, Cell 1</td>
<td>Row 2, Cell 2</td>
</tr>
</tbody>
</table>
- 服务器发送事件 (Server-Sent Events)
if(typeof(EventSource)!=="undefined") {
var source=new EventSource