概要
<meta>元素提供關(guān)于HTML文檔的元數(shù)據(jù) (metadata)信息 ,元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù),它不會(huì)顯示在頁(yè)面上,但卻可以被機(jī)器識(shí)別。
<meta>常用于來(lái)定義頁(yè)面的說(shuō)明、關(guān)鍵字、最后修改日期和其它的元數(shù)據(jù)。這些元數(shù)據(jù)將服務(wù)于瀏覽器(如何布局或重載頁(yè)面)、搜索引擎和其它網(wǎng)絡(luò)服務(wù)。
meta元素為空元素,在HTML文件中沒(méi)有終止標(biāo)簽。
父元素
<head>元素是<meta>元素的父元素,<meta>元素只能包含在<head>中
屬性
1. 全局屬性
2. charset屬性
此屬性聲明當(dāng)前文檔所使用的字符編碼,但該聲明可以被任何一個(gè)元素的 lang 特性的值覆蓋。
常用的值:
UTF-8 - Unicode 字符編碼
ISO-8859-1 - 拉丁字母表的字符編碼
<meta charset="utf-8">
3. name屬性
name 屬性主要用來(lái)表示元數(shù)據(jù)的類型,描述網(wǎng)頁(yè),比如網(wǎng)頁(yè)的關(guān)鍵詞,敘述等。與之對(duì)應(yīng)的屬性值為content,content中的內(nèi)容是對(duì)name填入類型的具體描述,便于搜索引擎抓取。meta標(biāo)簽中name屬性語(yǔ)法格式是:
<meta name="參數(shù)" content="具體的描述">
name屬性共有以下幾種參數(shù):
application-name : 定義正運(yùn)行在該網(wǎng)頁(yè)上的網(wǎng)絡(luò)應(yīng)用名稱;如果HTML頁(yè)面是一個(gè)Web應(yīng)用,則可以用name值為application-name的meta元素來(lái)定義該Web應(yīng)用的名稱。在使用application-name時(shí),可通過(guò)同時(shí)定義meta元素的lang值來(lái)設(shè)定不同自然語(yǔ)言情況下該Web應(yīng)用的名稱,從而實(shí)現(xiàn)Web應(yīng)用名稱的本地化。不過(guò)在同一個(gè)HTML文檔中,不允許出現(xiàn)兩個(gè)application-name其所屬的meta元素lang值相同的情況 -- 同一種語(yǔ)言的情況下,Web應(yīng)用的名稱只能有一個(gè)。對(duì)于通過(guò)application-name所定義的Web應(yīng)用的名稱,瀏覽器可以將其作為窗口頂部的名稱信息加以展示(也即,其優(yōu)先級(jí)高于head標(biāo)簽中的title元素)。
<meta name="application-name" content="BBC">
author:這個(gè)文檔的作者名稱,可以用自由的格式去定義;
<meta name="author" content="author name"> <!-- 定義網(wǎng)頁(yè)作者 -->
description:name值為description的meta元素可用于定義當(dāng)前文檔的具體描述信息,這種meta元素在同一個(gè)HTML文檔中最多只能出現(xiàn)一個(gè)。在Web的早期歷史中,搜索引擎會(huì)根據(jù)這個(gè)description信息來(lái)處理HTML文檔;但由于之后SEO對(duì)此屬性的濫用,導(dǎo)致如今搜索引擎對(duì)此meta信息的參考權(quán)重已經(jīng)大為降低。
<meta name="description" content="這是我的前端技術(shù)博客">
keywords:name值為keywords的meta元素可接受以逗號(hào)分隔的多個(gè)關(guān)鍵詞作為content,用于描述當(dāng)前文檔的關(guān)鍵詞信息。與description一樣,由于SEO濫用,如今的搜索引擎在處理HTML文檔的時(shí)候已經(jīng)不考慮keywords信息了。
<meta name="Keywords" content="前端,HTML">
generator: 對(duì)于由Dreamweaver等網(wǎng)頁(yè)制作軟件所制作的HTML文檔,name值為generator的meta元素可用于記錄該網(wǎng)頁(yè)制作軟件的信息。
viewport:這個(gè)屬性是由Apple引入,之后被其他人所采用和繼續(xù)開(kāi)發(fā),常用于設(shè)計(jì)移動(dòng)端網(wǎng)頁(yè),這個(gè)標(biāo)記用于指定用戶是否可以縮放Web頁(yè)面,如果可以,那么縮放到的最大和最小縮放比例是什么。常用的針對(duì)移動(dòng)網(wǎng)頁(yè)優(yōu)化過(guò)的頁(yè)面的 viewport meta 標(biāo)簽大致如下:
<meta name="viewport" content="width=device=width, initial-scale=1">
renderer:雙核瀏覽器渲染方式,renderer是為雙核瀏覽器準(zhǔn)備的,用于指定雙核瀏覽器默認(rèn)以何種方式渲染頁(yè)面。比如說(shuō)360瀏覽器。
<meta name="renderer" content="webkit"> ? <!--默認(rèn)webkit內(nèi)核-->
4. content
這個(gè)屬性為 http-equiv 或 name 屬性提供了與其相關(guān)的值的定義.
5. http-equiv屬性
equiv的全稱是"equivalent" 相當(dāng)于的意思,類似于HTTP的頭部協(xié)議,它回應(yīng)給瀏覽器一些有用的信息,以幫助正確和精確地顯示網(wǎng)頁(yè)內(nèi)容,實(shí)際取值由content決定。
(1) Content-Type和Content-Language (顯示字符集的設(shè)定)
設(shè)定頁(yè)面使用的字符集,用以說(shuō)明主頁(yè)制作所使用的文字已經(jīng)語(yǔ)言,瀏覽器會(huì)根據(jù)此來(lái)調(diào)用相應(yīng)的字符集顯示page內(nèi)容。
<meta http-equiv="Content-Type" Content="text/html; Charset=gb2312">
注意:這個(gè)功能就是通過(guò)讀取HTML頁(yè)面META標(biāo)簽的Content-Type屬性而得知需要使用哪種字符集顯示該頁(yè)面的。如果將其中的“charset=GB2312”替換成“BIG5”,則該頁(yè)面所用的字符集就是繁體中文Big5碼。如果系統(tǒng)里沒(méi)有裝相應(yīng)的字符集,則IE就提示下載。其他的語(yǔ)言也對(duì)應(yīng)不同的charset,比如日文的字符集是“iso-2022-jp ”,韓文的是“ks_c_5601”。Content-Language用于較老的瀏覽器,新式瀏覽器中一般用Content-Type。
?* Content-Type的Content還可以是:text/xml等文檔類型。
* Charset選項(xiàng):ISO-8859-1(英文)、BIG5、UTF-8、SHIFT-Jis、 gb2312、gb_2312-80、 x- euc-tw、x-cns11643-1、x-cns11643-2等字符集。
* Content-Language的Content還可以是:EN、FR等語(yǔ)言代碼。
(2)Refresh (刷新/自動(dòng)跳轉(zhuǎn))
讓網(wǎng)頁(yè)多長(zhǎng)時(shí)間(秒)刷新自己,或者在多長(zhǎng)時(shí)間后讓網(wǎng)頁(yè)自動(dòng)鏈接(跳轉(zhuǎn))到其它網(wǎng)頁(yè)。
<meta http-equiv="Refresh" content="表示時(shí)間的數(shù)值">
表示讓網(wǎng)頁(yè)每隔多少秒鐘自動(dòng)刷新一次,content值為數(shù)字,單位是秒。如表示5秒鐘自動(dòng)刷新一次。
(3)Set-Cookie (cookie設(shè)定)
設(shè)置一個(gè)cookie值。必須使用GMT的時(shí)間格式,如果網(wǎng)頁(yè)過(guò)期,那么存盤(pán)的cookie將被刪除。cookie是由一個(gè)網(wǎng)站(亦即管理網(wǎng)址的服務(wù)器)置于網(wǎng)絡(luò)用戶硬盤(pán)上的檔案或部分檔案,讓網(wǎng)絡(luò)服務(wù)器把用戶數(shù)據(jù)儲(chǔ)存于用戶自己的機(jī)器,每當(dāng)用戶回到該網(wǎng)站,即可存取數(shù)據(jù)。cookie程序被用來(lái)儲(chǔ)存注冊(cè)數(shù)據(jù),能為參觀者把數(shù)據(jù)建構(gòu)到網(wǎng)站上,追查用戶曾經(jīng)訪視的網(wǎng)站,為廣告指引目標(biāo),追蹤或提供用戶想要上網(wǎng)訂購(gòu)的產(chǎn)品的信息.
<meta http-equiv="Set-Cookie" content="cookievalue=cookie值; expire=過(guò)期時(shí)間 path=應(yīng)用路徑“>
(4)Content-Security-Policy(CSP)
CSP 的實(shí)質(zhì)就是白名單制度,開(kāi)發(fā)者明確告訴客戶端,哪些外部資源可以加載和執(zhí)行,等同于提供白名單。它的實(shí)現(xiàn)和執(zhí)行全部由瀏覽器完成,開(kāi)發(fā)者只需提供配置。CSP 大大增強(qiáng)了網(wǎng)頁(yè)的安全性。攻擊者即使發(fā)現(xiàn)了漏洞,也沒(méi)法注入腳本,除非還控制了一臺(tái)列入了白名單的可信主機(jī)。
(5)default-style
規(guī)定要使用的預(yù)定義的樣式表
6.scheme屬性
scheme屬性允許作者向用戶提供更多的線索用以解釋meta信息。例如content值為8-4-2008,對(duì)美國(guó)英語(yǔ)而言,代表著8月4日,對(duì)歐洲語(yǔ)言而言代表4月8日。此時(shí)scheme屬性定義“Month-Day-Year”屬性值來(lái)消除歧義。又如下面的代碼中,scheme聲明讓用戶代理判斷出“identifier”的值是ISBN號(hào)碼。
<meta scheme="ISBN" name="identifier" content="0-8230-2355-9">
<meta>標(biāo)簽的自定義屬性實(shí)在太多了,今天就先總結(jié)這么多吧!