前端“meta”标签详细整理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端“meta”标签详细整理相关的知识,希望对你有一定的参考价值。
参考技术A其实这些东西大概在一年前就搞出来了,看了很多有关的文章,现在分享出来,如果对你有些帮助,我还是挺开心的。 因为里面有很多也是我没用过的,实在是用不到,如果觉得有问题,就留言或者微信、邮箱联系我,我们共同探讨。
http-equiv ,顾名思义, 相当于http的文件头作用 ,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
meta标签的http-equiv属性 语法格式 是: <meta http-equiv="参数" content="参数变量值"> ;
其中http-equiv属性主要有以下几种参数:
说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。
用法: <meta http-equiv="expires" content="Fri, 12 Jan 2016 18:18:18 GMT">
注意:必须使用GMT的时间格式。
说明:禁止浏览器从本地计算机的缓存中访问页面内容。
用法:<meta http-equiv="Pragma" content="no-cache">
注意:这样设定,访问者将无法脱机浏览。
content内的数字代表时间(秒),即多少时间后刷新。如果加url,则会重定向到指定网页(搜索引擎能够自动检测,也很容易被引擎视作误导而受到惩罚)
说明:自动刷新并指向新页面。
用法: <meta http-equiv="refresh" content="2;URL=http://www.root.net"> (注意后面的引号,分隔在秒数的后面和网址的前面)
注意:其中的2是指停留2秒钟后自动刷新到URL网址。
说明:如果网页过期,那么存盘的cookie将被删除。
用法: <meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday, 12-Jan-2001 18:18:18 GMT; path=/">
注意:必须使用GMT的时间格式。
说明:强制页面在当前窗口以独立页面显示。
用法: <meta http-equiv="Window-target" content="_top">
注意:用来防止别人在框架里调用自己的页面。
说明:设定页面使用的字符集。
用法: <meta http-equiv="content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
http-equiv="Content-Type" 表示描述文档类型
content="text/HTML; 文档类型,这里为html,如果JS就是text/javascript,
charset=utf-8 页面字符集,编码,eg:gb2312,iso-8859-1,utf-8
现在有更为简洁的<meta charset=“utf-8” />
用法: <meta http-equiv="Content-Language" content="zh-cn" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
如果安装了GCF,则使用GCF来渲染页面,如果没安装GCF,则使用最高版本的IE内核进行渲染。
http-equiv="X-UA-Compatible",这个是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式
<meta http-equiv="Cache-Control" content="no-siteapp" />
name属性来表述 页面文档的元信息 ,通过http-equiv属性设置http请求指令,通过charset设置页面的字符编码。
每个网页应具有描述该网页内容的一组唯一的关键字
<meta name="keywords" content="your tags" />
每个网页都应有一个不超过 150 个字符且能准确反映网页内容的描述标签
<meta name="description" content="150 words" />
robots是一组使用逗号(,)分割的值,通常有如下几种取值:none,noindex,nofollow,all,index和follow
<meta name="robots" content="index,follow" />
能优化移动浏览器的显示。如果不是响应式网站,不要使用initial-scale或者禁用缩放。
大部分4.7-5寸设备的viewport宽设为360px;5.5寸设备设为400px;iphone6设为375px;ipone6 plus设为414px
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
只有在开启WebApp全屏模式时才生效。content的值为default | black | black-translucent
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-title" content="标题">
<meta name="renderer" content="webkit|ie-comp|ie-stand">
国内浏览器很多都是双内核(webkit和Trident),webkit内核高速浏览,IE内核兼容网页和旧版网站。而添加meta标签的网站可以控制浏览器选择何种内核渲染<meta name="renderer" content="webkit|ie-comp|ie-stand">
content的取值为webkit,ie-comp,ie-stand之一,区分大小写,分别代表用webkit内核,IE兼容内核,IE标准内核。
这里特别需要说明一下,有一次一个朋友问360的首页或者天猫之类的大网站,发现不只是优先使用webkit内核,而是只有这一种选择,根本没有兼容模式的选择,为什么呢?
找了好长时间才找到一个靠谱点的答案:如果想要实现这么一个功能,需要跟他们合作,具体是怎么一种方式如果有需要可以跟联系他们的客服吧,或者是你知道这究竟是怎么一回事,也可以跟我说一下。
<meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">
<meta name="google-site-verification"content="tPkY-Quj85Ni78uIWOIREPO9k5xczDgjch10qsLfVfs" />
<meta property="qc:admins" content="153033120760567656375" />
<meta property="wb:webmaster" content="e9da5e10879ed7c9" />
以淘宝为例
淘宝xTao为外部合作伙伴提供的一套跟踪引导成交效果数据的解决方案
<meta name="data-spm" content="a215s">
<meta content="fullscreen=yes,preventMove=no" name="ML-Config">用于控制全屏显示
常用meta整理
这篇整理 参考的地址:http://fex.baidu.com/blog/2014/10/html-head-tags/?qq-pf-to=pcqq.c2c
meta用的最多的就是 keywords、description、charset、viewport等这样几个。这篇整理 就详细介绍下meta。
W3School对meta的解释:
标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。
meta一般以name、http-equiv 对应 content方式使用。
content为必选属性,name 、 http-equiv为可选属性。
<!--设置页面编码方式--> <meta charset="UTF-8">
属性 | 值 | 描述 | 是否必要 |
content | some text | 定义与http-equiv或name属性相关的元信息 | 必要 |
http-equiv | content-type / expire / refresh / set-cookie | 把content属性关联到HTTP头部。 | 可选 |
name | author / description / keywords / generator / revised / others | 把 content 属性关联到一个名称。 | 可选 |
关键词:每个网页应具有描述该网页内容的一组唯一的关键字。
使用人们可能会搜索,并准确描述网页上所提供信息的描述性和代表性关键字及短语。标记内容太短,则搜索引擎可能不会认为这些内容相关。另外标记不应超过 874 个字符。
<meta name="keywords" content="your tags" />
页面描述:每个网页都应有一个不超过 150 个字符且能准确反映网页内容的描述标签。
<meta name="description" content="150 words" />
搜索引擎索引方式:robotterms是一组使用逗号(,)分割的值,通常有如下几种取值:none,noindex,nofollow,all,index和follow。确保正确使用nofollow和noindex属性值。
<meta name="robots" content="index,follow" /> <!-- all:文件将被检索,且页面上的链接可以被查询; none:文件将不被检索,且页面上的链接不可以被查询; index:文件将被检索; follow:页面上的链接可以被查询; noindex:文件将不被检索; nofollow:页面上的链接不可以被查询。 -->
页面重定向和刷新:content内的数字代表时间(秒),既多少时间后刷新。如果加url,则会重定向到指定网页(搜索引擎能够自动检测,也很容易被引擎视作误导而受到惩罚)。
<meta http-equiv="refresh" content="0;url=" />
地理位置标记
<meta name="location" content="province=湖北;city=武汉">
其他
<!-- 定义网页作者 --> <meta name="author" content="author name" /> <!--定义指定引擎的索引方式--> <meta name="google" content="index,follow" /> <meta name="googlebot" content="index,follow" />
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
移动设备
viewport:能优化移动浏览器的显示。如果不是响应式网站,不要使用initial-scale或者禁用缩放。(大部分4.7-5寸设备的viewport宽设为360px;5.5寸设备设为400px;iphone6设为375px;ipone6 plus设为414px。)
<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0, user-scalable=no"/> <!-- `width=device-width` 会导致 iPhone 5 添加到主屏后以 WebApp 全屏模式打开页面时出现黑边 --> <!-- width:宽度(数值 / device-width)(范围从200 到10,000,默认为980 像素) height:高度(数值 / device-height)(范围从223 到10,000) initial-scale:初始的缩放比例 (范围从>0 到10) minimum-scale:允许用户缩放到的最小比例 maximum-scale:允许用户缩放到的最大比例 user-scalable:用户是否可以手动缩 (no,yes) minimal-ui:可以在页面加载时最小化上下状态栏。(已弃用) -->
注意:很多人使用initial-scale=1到非响应式网站上,这会让网站以100%宽度渲染,用户需要手动移动页面或者缩放。如果和initial-scale=1同时使用user-scalable=no或maximum-scale=1,则用户将不能放大/缩小网页来看到全部的内容。
WebApp全屏模式:伪装app,离线应用。
<meta name="apple-mobile-web-app-capable" content="yes" /> <!-- 启用 WebApp 全屏模式 -->
隐藏状态栏/设置状态栏颜色:只有在开启WebApp全屏模式时才生效。content的值为default | black | black-translucent 。
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
添加到主屏后的标题
<meta name="apple-mobile-web-app-title" content="标题">
忽略数字识别为号码
<meta content="telephone=no" name="format-detection" />
忽略邮箱识别
<meta content="email=no" name="format-detection" />
添加智能 App 广告条 Smart App Banner:告诉浏览器这个网站对应的app,并在页面上显示下载banner 参考文档
<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
其他
<!-- 删除苹果默认的工具栏和菜单栏 --> <meta name="apple-mobile-web-app-capable" content="yes" /> <!-- 设置苹果工具栏颜色 --> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <!-- 避免IE使用兼容模式 --> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- 启用360浏览器的极速模式(webkit) --> <meta name="renderer" content="webkit"> <!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 --> <meta name="HandheldFriendly" content="true"> <!-- 微软的老式浏览器 --> <meta name="MobileOptimized" content="320"> <!-- uc强制竖屏 --> <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"> <!-- windows phone 点击无高光 --> <meta name="msapplication-tap-highlight" content="no">
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
页面相关设置
浏览器的选择
<!--优先使用 IE 最新版本和 Chrome--> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <!--360 使用Google Chrome Frame (即360使用极速模式)--> <meta name="renderer" content="webkit"> <!-- 注意,使用这段标签为了保险起见,加上 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> 一起使用 --> <!--禁止百度转码--> <!--通过百度手机打开网页时,百度可能会对你的网页进行转码,脱下你的衣服,往你的身上贴狗皮膏药的广告,为此可在 head 内添加--> <meta http-equiv="Cache-Control" content="no-siteapp" />
X-UA-Compatible:选择优先浏览器。
renderer:选择浏览器内核。
浏览器和内核是有区别的。
目前主流内核有:Trident、Gecko、WebKit、Presto 关于内核更详细的解释
目前国内很多浏览器都采用双内核甚至多内核。
如:
搜狗高速浏览器、QQ浏览器:IE内核(兼容模式)
360极速浏览器、遨游浏览器:Webkit内核(极速模式)
禁止浏览器从本地计算机的缓存中访问页面内容:这样设定,访问者将无法脱机浏览。(禁止在非联网的情况下访问本页内容)
<meta http-equiv="Pragma" content="no-cache">
windows 8设置
<!-- Windows 8 磁贴颜色 --> <meta name="msapplication-TileColor" content="#000"/> <!-- Windows 8 磁贴图标 --> <meta name="msapplication-TileImage" content="icon.png"/>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
关于页面字符编码和页面语言
设置页面字符编码
<meta charset="utf-8">
设置页面语言
<!--简体中文--> <html lang="zh-cmn-Hans"> <!--繁体中文--> <html lang="zh-cmn-Hant">
我们通常是不是都 lang="zh-CN" 这样写?为啥不这样写 看这里
以上是关于前端“meta”标签详细整理的主要内容,如果未能解决你的问题,请参考以下文章