來看以下有趣的代碼,
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="1" />
<title>refresh every 1 s</title>
</head>
<body>
<script>
document.write(new Date())
</script>
</body>
</html>
將其保存成 HTML 文件用瀏覽器打開后,頁面每隔 1 秒自動刷新。
這里使其進行刷新操作的是 http-equiv="refresh"
meta 標簽。
<meta http-equiv="refresh" content="1" />
那么什么是 http-equiv
meta 標簽具體是什么,還有哪些有用的值。
<meta>
標簽
首先 <meta>
標簽用來表示其他元素(譬如 <base>
, <link>
, <script>
, <style>
, <title>
)無法呈現的網頁元數據,其身上可使用的屬性有:
charset
:指定頁面編碼,值可以是任意合法的 標准 IANA MIME 字符編碼名稱content
:包含http-equiv
的值。http-equiv
:其定義的字段相當於同名的 http header。不過並不能通過它定義所有的響應頭,只包含以下這些:content-language
已廢棄content-security-policy
content-type
已廢棄refresh
set-cookie
已廢棄
name
:通過 name 定義一些常用的元數據值,比如viewport
,robots
,creator
等。scheme
:已廢棄
http-equiv
如上,http-equiv
只是 <meta>
標簽的一種屬性,與同名 http 響應頭功能一樣。
最典型的,CSP(Content Security Policy) 除了可通過在響應頭中進行配置外,另一種方式便是使用 http-equiv
meta 標簽,譬如:
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
等價於:
Content-Security-Policy: default-src 'self';
表示網頁只信任並加載同域資源。