Alexgogoing

meta标签详解

字数统计: 1.9k阅读时长: 8 min
2021/06/10 19 Share

meta 标签详解

对于meta的理解一直很模糊,今天做一个详细拆解

定义

<meta>元素提供有关页面元信息,比如针对搜索引擎,提供关键词和更新频度。

<meta> 标签位于文档的头部,不包含任何内容。

<meta> 标签的属性定义了与文档相关联的名称/值对。

在 HTML 中,<meta> 标签没有结束标签。
在 XHTML 中,<meta> 标签必须被正确地关闭。
注释:<meta> 标签永远位于 head 元素内部。
注释:元数据总是以名称/值的形式被成对传递的。

拆解

meta标签有以下属性:

  1. http-equiv(可选)
  2. name(可选)
  3. scheme(可选)
  4. content(必选,定义与 http-equiv 或 name 属性相关的元信息)
属性 描述
http-equiv content-type / expire / refresh / set-cookie 把content属性关联到HTTP头部
name author / description / keywords / generator / revised / others 把 content 属性关联到一个名称
scheme 任意字符 定义用于翻译 content 属性值的格式
属性 描述
http-equiv content-type / expire / refresh / set-cookie 把content属性关联到HTTP头部
content 任意字符 定义与 http-equiv 或 name 属性相关的元信息

实验

使用name

viewport(视窗大小)

width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-width 为设备的宽度(单位为缩放为 100% 时的 CSS 的像素)。

1
2
3
4
5
6
7
<!-- width:宽度(数值 / device-width)(200~10000,默认为980px) -->
<!-- height:高度(数值 / device-height)(223~10000) -->
<!-- initial-scale:初始缩放比例 (0~10) -->
<!-- minimum-scale:允许用户缩放到的最小比例 -->
<!-- maximum-scale:允许用户缩放到的最大比例 -->
<!-- user-scalable:是否允许用户缩放 (no/yes) -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

keywords(关键字)

keywords用来告诉搜索引擎你网页的关键字是什么。

1
<meta name="keywords" content="meta总结,html meta,meta属性,meta跳转">

description(网站内容描述)

description用来告诉搜索引擎你的网站主要内容。

1
<meta name="description" content="haorooms博客,html的meta总结,meta是html语言head区的一个辅助性标签。">

robots(爬虫向导)

说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

1
2
3
4
5
6
7
8
9
<!-- 页面爬虫设置 -->
<meta name="robots" content="index,follow" />
<!-- robots的content取值 -->
<!-- all:文件将被检索,且页面上的链接可以被查询 -->
<!-- none:文件将不被检索,且页面上的链接不可以被查询 -->
<!-- index:文件将被检索 -->
<!-- follow:页面上的链接可以被查询 -->
<!-- noindex:文件将不被检索,但页面上的链接可以被查询 -->
<!-- nofollow:文件将被检索,但页面上的链接不可以被查询 -->

author(作者)

1
<meta name="author" content="root,root@xxxx.com">

generator

1
2
<!-- 页面生成器 -->
<meta name="generator" content="hexo" />
1
2
<!-- 版权信息 -->
<meta name="copyright" content="All Rights Reserved" />

revisit-after

revisit-after代表网站重访,7days代表7天,依此类推。

1
<meta name="revisit-after" content="7days">

revised

表示该网页文档最后修改的时间

1
2
<!-- 页面修改信息 -->
<meta name="revised" content="谁谁谁,2015/07/22" />

使用http-equiv

expires(期限)

说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

1
2
<!-- 页面到期时间 -->
<meta http-equiv="expires" content="Fri,12Jan200118:18:18GMT">

cache-control指定请求和响应遵循的缓存机制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!-- Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下

Public指示响应可被任何缓存区缓存

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应

max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
-->
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" />

pragma(cache模式)

说明:禁止浏览器从本地计算机的缓存中访问页面内容。

1
2
<!-- 禁止从本地缓存中读取页面 -->
<meta http-equiv="pragma" content="no-cache">

refresh(刷新)

说明:自动刷新并指向新页面。

1
2
<!-- 页面重刷新,0秒后刷新并跳转 -->
<meta http-equiv="refresh" content="0,URL='https://www.baidu.com'" />

说明:如果网页过期,那么存盘的cookie将被删除。

1
2
<!-- cookie设置 -->
<meta http-equiv="set-cookie" content="cookiename value=xxx;expires=Wed,22-Jul-201511:11:11GMT;path=/" />

content-type(显示字符集的设定)

说明:设定页面使用的字符集。

1
2
3
4
<!-- 字符编码 -->
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<!-- 上面在html5中可以改写成:-->
<meta charset="utf-8" />

window-target(显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

1
<meta http-equiv="window-target" content="_top">

content-language

1
<meta http-equiv="content-language" content="zh-cn"/>

imagetoolbar

指定是否显示图片工具栏,当为false代表不显示,当为true代表显示。

1
<meta http-equiv="imagetoolbar" content="false"/>

content-script-type

1
2
<!-- 指定脚本类型 -->
<meta http-equiv="content-script-type" content="text/javascript">

手机端常用设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- uc强制竖屏 portrait 竖向-->
<meta name="screen-orientation" content="portrait"/>
<!-- QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait"/>
<!-- UC强制全屏 -->
<meta name="full-screen" content="yes"/>
<!-- QQ强制全屏 -->
<meta name="x5-fullscreen" content="true"/>
<!-- UC应用模式 -->
<meta name="browsermode" content="application"/>
<!-- QQ应用模式 -->
<meta name="x5-page-mode" content="app"/>
<!-- IOS启用 WebApp 全屏模式 -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<!-- IOS全屏模式下隐藏状态栏/设置状态栏颜色 content的值为default | black | black-translucent -->
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<!-- IOS添加到主屏后的标题 -->
<meta name="apple-mobile-web-app-title" content="标题"/>
<!-- IOS添加智能 App 广告条 Smart App Banner -->
<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
<!-- 去除iphone 识别数字为号码 -->
<meta name="format-detection" content="telephone=no">
<!-- 不识别邮箱 -->
<meta name="format-detection" content="email=no">
<!-- 禁止跳转至地图 -->
<meta name="format-detection" content="address=no">
<!-- 可以连写-->
<meta name="format-detection" content="telephone=no,email=no,address=no">
CATALOG
  1. 1. meta 标签详解