html中meta标签及用法详解

/ 前端 / 没有评论 / 489浏览

标签提供页面有关的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。 标签位于文档头部(区),不包含任何内容。

标签的作用

  1. 搜索引擎优化(SEO);
  2. 定义页面使用语言;
  3. 自动刷新并指向新的页面;
  4. 实现网页转换时的动态效果;
  5. 控制页面缓冲;
  6. 网页定级评价;
  7. 控制网页显示的窗口等。

常用的meta属性

标签共有3个属性,charset, name, http-equiv 不同的属性有不同的参数值,不同的参数值实现了不同的网页功能。
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 -->
<html lang="zh-cmn-Hans"> <!-- 更加标准的 lang 属性写法 http://zhi.hu/XyIa -->
<head>
    <!-- 声明文档使用的字符编码 -->
    <meta charset='utf-8'>
    <!-- 强制Chromium内核,作用于360浏览器、QQ浏览器等国产双核浏览器 -->
    <meta name="renderer" content="webkit"/>
    <!-- 强制Chromium内核,作用于其他双核浏览器 -->
    <meta name="force-rendering" content="webkit"/>
    <!-- 如果有安装 Google Chrome Frame 插件则强制为Chromium内核,否则强制本机支持的最高版本IE内核,作用于IE浏览器 -->
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
    <!-- 
       设置视窗大小
       width    设置layout viewport  的宽度,为一个正整数,或字符串"width-device"
       initial-scale    设置页面的初始缩放值,为一个数字,可以带小数
       minimum-scale    允许用户的最小缩放值,为一个数字,可以带小数
       maximum-scale    允许用户的最大缩放值,为一个数字,可以带小数
       shrink-to-fit=no IOS9中要想前面的属性起作用需要加上这个
       height    设置layout viewport  的高度,这个属性对我们并不重要,很少使用
       user-scalable    是否允许用户进行缩放,值为"no"或"yes", no 代表不允许,yes代表允许
    -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <!-- 页面描述 -->
    <meta name="description" content="不超过150个字符"/>
    <!-- 页面关键词 -->
    <meta name="keywords" content=""/>
    <!-- 网页作者 -->
    <meta name="author" content="name, email@gmail.com"/>
    <!-- 
       搜索引擎抓取
       all:文件将被检索,且页面上的链接可以被查询; 
       none:文件将不被检索,且页面上的链接不可以被查询;
       index:文件将被检索; 
       follow:页面上的链接可以被查询; 
       noindex:文件将不被检索; 
       nofollow:页面上的链接不可以被查询。 
    -->
    <meta name="robots" content="index,follow"/>
    <!-- 忽略页面中的数字识别为电话,忽略email识别 -->
    <meta name="format-detection" content="telphone=no, email=no"/>
    
    <!-- iOS 设备 begin -->
    <!-- 添加到主屏后的标题(iOS 6 新增) -->
    <meta name="apple-mobile-web-app-title" content="标题">
    <!-- 当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari (ios7.0版本以后,safari上已看不到效果) -->
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <!-- 是否启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单栏 -->
    <meta name="apple-touch-fullscreen" content="yes"/>
    <!-- 添加智能 App 广告条 Smart App Banner(iOS 6+ Safari) -->
    <meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">
    <!-- 设置苹果工具栏颜色:默认值为 default(白色),可以定为 black(黑色)和 black-translucent(灰色半透明) -->
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <!-- 不让百度转码 -->
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <!-- 针对手持设备优化,主要是针对一些老的不识别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">
    
    <!-- iOS 图标 begin 网站添加至ios桌面时的图标 -->
    <!-- iPhone 和 iTouch,默认 57x57 像素,必须有 -->
    <link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-57x57-precomposed.png"/>
    <!-- Retina iPhone 和 Retina iTouch,114x114 像素,可以没有,但推荐有 -->
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/apple-touch-icon-114x114-precomposed.png"/>
    <!-- Retina iPad,144x144 像素,可以没有,但推荐有 -->
    <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144x144-precomposed.png"/>
    <!-- iOS 图标 end -->
 
    <!-- iOS 启动画面 begin -->
    <!-- iPad 竖屏 768 x 1004(标准分辨率) -->
    <link rel="apple-touch-startup-image" sizes="768x1004" href="/splash-screen-768x1004.png"/>
    <!-- iPad 竖屏 1536x2008(Retina) -->
    <link rel="apple-touch-startup-image" sizes="1536x2008" href="/splash-screen-1536x2008.png"/>
    <!-- iPad 横屏 1024x748(标准分辨率) -->
    <link rel="apple-touch-startup-image" sizes="1024x748" href="/Default-Portrait-1024x748.png"/>
    <!-- iPad 横屏 2048x1496(Retina) -->
    <link rel="apple-touch-startup-image" sizes="2048x1496" href="/splash-screen-2048x1496.png"/>
    <!-- iPhone/iPod Touch 竖屏 320x480 (标准分辨率) -->
    <link rel="apple-touch-startup-image" href="/splash-screen-320x480.png"/>
    <!-- iPhone/iPod Touch 竖屏 640x960 (Retina) -->
    <link rel="apple-touch-startup-image" sizes="640x960" href="/splash-screen-640x960.png"/>
    <!-- iPhone 5/iPod Touch 5 竖屏 640x1136 (Retina) -->
    <link rel="apple-touch-startup-image" sizes="640x1136" href="/splash-screen-640x1136.png"/>
    <!-- iOS 启动画面 end -->
    <!-- iOS 设备 end -->
    
    <!-- Windows 8 磁贴颜色 -->
    <meta name="msapplication-TileColor" content="#000"/>
    <!-- Windows 8 磁贴图标 -->
    <meta name="msapplication-TileImage" content="icon.png"/>
    
    <!-- 添加 RSS 订阅 -->
    <link rel="alternate" type="application/rss+xml" title="RSS" href="/rss.xml"/>
    
    <!-- 添加 favicon icon -->
    <link rel="shortcut icon" type="image/ico" href="/favicon.ico"/>
    

    <!-- sns 社交标签 begin -->
    <!-- 参考微博API -->
    <meta property="og:type" content="类型" />
    <meta property="og:url" content="URL地址" />
    <meta property="og:title" content="标题" />
    <meta property="og:image" content="图片" />
    <meta property="og:description" content="描述" />
    <!-- sns 社交标签 end -->
 
    <title>标题</title>
</head>

charset(字符集)

说明:规定 HTML 文档的字符编码。 用法:

<meta charset="UTF-8"> 

name属性

name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

meta标签的name属性语法格式是:

<meta name="参数" content="具体的参数值">

其中name属性主要有以下几种参数:

viewport(视区)

是用户网页的可视区域。 大家都知道移动设备的屏幕一般都比PC小很多,webkit浏览器会将一个较大的“虚拟”窗口映射到移动设备的屏幕上,默认的虚拟窗口为980像素宽(目前大部分网站的标准宽度),然后按一定的比例(3:1或2:1)进行缩放。

也就是说当我们加载一个普通网页的时候,webkit会先以980像素的浏览器标准加载网页,然后再缩小为490像素的宽度。注意这个缩小是一个全局缩小,也就是页面上的所有元素都会缩小。

<meta id="viewport" name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1; user-scalable=no;">

(1) width

width 控制 viewport 的大小,一般为了自适应设置为device-width

(2) initial-scale

initial-scale:初始缩放比例,也即是当页面第一次 load 的时候缩放比例。

(3) maximum-scale

maximum-scale 最大缩放。即允许的最大缩放程度。这也是一个浮点值,用以指出页面大小与屏幕大小相比的最大乘数。

(4) minimum-scale

minimum-scale:允许用户缩放到的最小比例。和 maximum-scale 用法类似。

(5) user-scalable

user-scalable 用户调整缩放。即用户是否能改变页面缩放程度。如果设置为yes则是允许用户对其进行改变,反之为no。

keywords(关键字),用来告诉搜索引擎网页的关键字是什么。 description(描述、简介),用来告诉搜索引擎网页的主要内容是什么。 format-detetion(格式检测),用来检测html里面的一些格式的。

<meta name="format-detection" content="telephone=no,email=no,adress=no">

telephone=no就禁止了把数字转化为拨号链接!

email=no禁止作为邮箱地址!

adress=no禁止跳转至地图!

robots(机器人向导),用来告诉搜索机器人,哪些页面需要索引,哪些页面不需要索引。 content的参数 all,none,index,noindex,follow,nofollow。默认是all。

<meta name="robots"content="none">

http-equiv属性

相当于http文件头,可以向浏览器传回一些有用的信息,以正确和精确的显示网页内容。与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

meta标签 http-equiv属性语法格式是:

<meta http-equiv="参数" content="参数变量值">

主要有以下几种参数: **expires(期限)**可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

<meta http-equiv="expires" content="Fri,12Jan200118:18:18GMT"> 

**pragma(cache模式)**禁止浏览器从本地计算机的缓存中访问页面内容。

<meta http-equiv="pragma" content="no-cache"> 

**refresh(刷新)**自动刷新并指向新页面

<meta http-equiv="refresh" content="2;URL="**">

set-cookie(cookie设定),如果网页过期,那么存盘的cookie将被删除。

<meta http-equiv="set-Cookie" content="cookie value=xxx;expires=Friday,12-Jan-200118:18:18GMT;path=/"> 

注意:必须使用GMT的时间格式。

**window-target(显示窗口的设定)**强制页面在当前窗口以独立页面显示。

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

注意:用来防止别人在框架里调用自己的页面。

content-type(显示字符集的设定),用来设定页面设定的字符集。

<meta http-equiv="content-Type"content="text/html;charset=gb2312"> 

具体如下:

meta标签的charset的信息参数如GB2312时,代表说明网站是采用的编码是简体中文;

meta标签的charset的信息参数如BIG5时,代表说明网站是采用的编码是繁体中文;

meta标签的charset的信息参数如iso-2022-jp时,代表说明网站是采用的编码是日文;

meta标签的charset的信息参数如ks_c_5601时,代表说明网站是采用的编码是韩文;

meta标签的charset的信息参数如ISO-8859-1时,代表说明网站是采用的编码是英文;

meta标签的charset的信息参数如UTF-8时,代表世界通用的语言编码;