在前端編碼過程中,大部分人對(duì)meta的理解估計(jì)都停留在<meta charset="UTF-8">上,但是一般網(wǎng)站還有很多關(guān)于meta的設(shè)置,其它設(shè)置的作用又是什么呢?今天來系統(tǒng)的整理一下,有的功能雖然沒有在實(shí)例中測(cè)試,但是還是在網(wǎng)上找了些例子,不全的歡迎補(bǔ)充( _ ):
- meta提供了HTML文檔的元數(shù)據(jù),它不會(huì)顯示在頁(yè)面上,但是可以供機(jī)器解析
- meta常用于定義頁(yè)面的說明,關(guān)鍵字、最后修改日期和其它元數(shù)據(jù),這些數(shù)據(jù)將服務(wù)于瀏覽器(如何布局或重載頁(yè)面),搜索引擎和其它網(wǎng)絡(luò)服務(wù)
- meta標(biāo)簽由兩個(gè)屬性組成,分別是http-equiv屬性和name屬性:
name屬性主要用于描述網(wǎng)頁(yè),與之對(duì)應(yīng)的是content,content是對(duì)name的具體描述,便于引擎抓取:
<meta name="參數(shù)" content="具體的描述">
,其中,name屬性一共有以下幾種參數(shù):
(1)keywords(關(guān)鍵字),用于告訴搜索引擎你網(wǎng)站的關(guān)鍵字,也就是在搜索引擎中輸入你在keywords中寫的內(nèi)容,就能搜索到你的網(wǎng)頁(yè)了。
<meta name="keywords" content="前端">
(2)description(網(wǎng)站內(nèi)容的描述),用于告訴引擎你網(wǎng)站的主要內(nèi)容,在根據(jù)關(guān)鍵字搜索出網(wǎng)頁(yè)之后,會(huì)顯示在description中寫的內(nèi)容。
<meta name="description" content="前端開發(fā),路漫漫其修遠(yuǎn)兮">
(3)viewport(移動(dòng)端的窗口),這個(gè)屬于移動(dòng)端頁(yè)面會(huì)用到的屬性,控制網(wǎng)頁(yè)在移動(dòng)端有較好的顯示,具體屬性還比較多,后面涉及到會(huì)詳細(xì)介紹相關(guān)屬性。
<meta name="viewport" content="width=device-width,inital-scale=1">
(4)robots(定義搜索引擎爬蟲的索引方式),用來告訴爬蟲哪些頁(yè)面需要索引哪些頁(yè)面不需要索引。
<meta name="robots" content="none">
,其中content的值有很多,none表示搜索引擎將忽略此網(wǎng)頁(yè)。
(5)author(作者),用于標(biāo)注網(wǎng)頁(yè)作者舉例
<meta name="author" content="Iris_mao">
(6)generate(網(wǎng)頁(yè)制作軟件),用于標(biāo)注網(wǎng)站的編碼軟件
<meta name="generator" content="Sublime">
(7)copyright(版權(quán)),用于注明網(wǎng)頁(yè)的版權(quán)所有
<meta name="copyright" content="Iris_mao">
(8)revisit-after(搜索引擎爬蟲搜索時(shí)間),如果頁(yè)面不是經(jīng)常更新,為了減少搜索引擎爬蟲對(duì)服務(wù)器帶來的壓力,可以設(shè)置一個(gè)爬蟲訪問時(shí)間。
<meta name="revisit-after" content="7 days" >
(9)renderer(雙核瀏覽器渲染方式),用于指定雙核瀏覽器以何種方式渲染。
<meta name="renderer" content="webkit"> //默認(rèn)webkit內(nèi)核
http-equiv屬性,相當(dāng)于http的頭文件作用,equiv的全稱是equivalent,有相當(dāng)于的意思,這樣就很容易理解了。<meta http-equiv="參數(shù)" content="具體的描述">
(1)content-Type(設(shè)定網(wǎng)頁(yè)字符集),舊的定義網(wǎng)頁(yè)編碼方式的寫法,現(xiàn)在用meta進(jìn)行定義,舊的方式不建議使用。
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦
(2)X-UA-Compatible(瀏覽器采用何種版本渲染當(dāng)前頁(yè)面),一般都設(shè)置為最新模式,在各大框架中也很常見。
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當(dāng)前頁(yè)面
(3)cache-control(指定請(qǐng)求和相應(yīng)遵循的緩存機(jī)制),指導(dǎo)瀏覽器如何緩存某個(gè)響應(yīng)以及緩存多長(zhǎng)時(shí)間。
<meta http-equiv="cache-control" content="no-cache">
content有很多屬性,no-cache表示先發(fā)送請(qǐng)求,與服務(wù)器確認(rèn)該資源是否被更改,如果未被更改,則使用緩存。
(4)expires(網(wǎng)頁(yè)到期時(shí)間),用于設(shè)定網(wǎng)頁(yè)的到期時(shí)間,過期后網(wǎng)頁(yè)必須到服務(wù)器上重新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
(5)refresh(自動(dòng)刷新并指向某頁(yè)面),網(wǎng)頁(yè)將在設(shè)定的時(shí)間內(nèi)自動(dòng)刷新并調(diào)向設(shè)定的網(wǎng)址。
<meta http-equiv="refresh" content="2;URL=http://xxx">
(6)Set-Cookie(cookie設(shè)定),如果網(wǎng)頁(yè)過期,那么網(wǎng)頁(yè)存在本地的cookies也會(huì)被刪除。
<meta http-equiv="Set-Cookie" content="name, date">
(7)mobile-agent(開放手機(jī)適配)
站點(diǎn)如果自行適配有困難,可以在PC頁(yè)面中做簡(jiǎn)單改造,百度協(xié)助實(shí)現(xiàn)適配效果。即:站長(zhǎng)在站點(diǎn)PC頁(yè)的源代碼頭部嵌入一行或多行Meta信息,由Meta信息來指明該P(yáng)C頁(yè)對(duì)應(yīng)的手機(jī)頁(yè)的URL,以及該URL對(duì)應(yīng)頁(yè)面的格式,百度將根據(jù)用戶終端類型選擇最適合展示的頁(yè)面。
Meta聲明標(biāo)注步驟:
梳理所有與手機(jī)頁(yè)存在一一對(duì)應(yīng)關(guān)系的PC頁(yè),用于添加Meta聲明;無對(duì)應(yīng)關(guān)系的PC頁(yè)面無需添加Meta 。
Meta聲明的格式:
<meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">
注:A. 紅色字體部分是需要站點(diǎn)自定義的內(nèi)容。
[wml|xhtml|html5]——根據(jù)手機(jī)頁(yè)的協(xié)議語(yǔ)言,選擇中的一種。
url=url ——后者代表當(dāng)前PC頁(yè)所對(duì)應(yīng)的手機(jī)頁(yè)url,兩者必須是一一對(duì)應(yīng)關(guān)系(而不是統(tǒng)一對(duì)應(yīng)至手機(jī)站首頁(yè))
B. name="mobile-agent"為更新后的meta聲明,建議使用。原有meta規(guī)則http-equiv="mobile-agent"能夠兼容并繼續(xù)生效,已標(biāo)注過的無需修改。
Meta聲明示例:
<meta name="mobile-agent" content="format=xhtml;url=http://sina.cn/"> ```