HTML5真正的创新在于其提供了一种标准的方式来描述网页内容,同时也引入了一些新的API和元素,这些使得开发者能够更加容易地创建富媒体网页应用程序。以下是一些HTML5的新特性和API的例子:
- 语义化标签:HTML5引入了一些语义化的标签,如
<header>
, <nav>
, <section>
, <article>
, <aside>
, 和 <footer>
,这些标签可以让开发者以一种更结构化的方式来描述网页的不同部分。
<!DOCTYPE html>
<html>
<head>
<title>我的网页</title>
</head>
<body>
<header>
<h1>我的网站</h1>
</header>
<nav>
<ul>
<li><a href="#">主页</a></li>
<li><a href="#">关于</a></li>
</ul>
</nav>
<section>
<article>
<header>
<h2>文章标题</h2>
</header>
<p>这是一个段落。</p>
</article>
</section>
<aside>
<p>这是侧边栏内容。</p>
</aside>
<footer>
<p>版权所有 © 2023</p>
</footer>
</body>
</html>
- 画布(Canvas) API:HTML5的Canvas API允许开发者通过JavaScript来创建图形、动画和游戏。
<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>
- 本地存储:HTML5引入了
localStorage
和sessionStorage
接口,允许网页应用程序在客户端存储键值对数据。
// 存储数据
localStorage.setItem('key', 'value');
// 获取数据
var data = localStorage.getItem('key');
// 删除数据
localStorage.removeItem('key');
// 清除所有数据
localStorage.clear();
- 索引数据库(IndexedDB):IndexedDB是一个非关系型数据库,用于存储大量数据,提供了一种机制来存储大量数据,并在客户端进行高效的查询和其他操作。
var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
// 打开或创建数据库
var request = indexedDB.open("MyDatabase", 1);
// 创建存储空间
request.onupgradeneeded = function(e) {
var db = e.target.result;
var objectStore = db.createObjectStore("MyObjectStore", { keyPath: "id" });
}
// 使用事务和对象存储空间
request.onsuccess = function(e) {
var db = e.target.result;
var tx = db.transaction("MyObjectStore", "readwrite");
var store = tx.objectStore("MyObjectStore");
// 添加数据
store.add({ id: 1, name: "John" });
// 读取数据
var req = store.get(1);
req.onsuccess = function(e) {
console.dir(e.target.result);
};
}
- 文件API:HTML5引入了File API,允许