细数meta标签的奥秘
因为看到了一个很不错的h5自适应网站,觉得很不错,于是好奇心作祟,让我翻开了它的源码一探究竟,
最先研究的是它的meta标签,好了,废话不多说,以下是我总结的和比较实用的meta标签,如有错误,
请多多指教。
先来整个meta标签列表,方便各位赏光,嘻嘻嘻。。。
1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3. <meta name="apple-mobile-web-app-capable" content="yes">
4. <meta name="apple-mobile-web-app-status-bar-style" content="black">
5. <meta name="format-detection" content="telephone=no">
6. <meta http-equiv="Expires" content="-1">
7. <meta http-equiv="Cache-Control" content="no-cache">
8. <meta http-equiv="Pragma" content="no-cache">
9. <meta name="full-screen" content="yes">
10.<meta name="browsermode" content="application">
11.<meta name="x5-fullscreen" content="true">
12.<meta name="x5-page-mode" content="app">
13.<meta name="format-detection" content="telephone=no" />
14.<meta name="author" content="m.xx.com">
15.<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
16.<meta name="renderer" content="webkit">
1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
这个做过前端的同学应该很熟悉了,首先定义一个可视化的视口,content里的width,initial-scale,maximum-scale,user-scalable都是它的参数,就像这个就是初始化视口的宽度等于设备的宽度,初始化视口为正常显示,不放大也不缩小;最大的视口也是1:1;不允许用户点击放大或者缩小视口;最后的这个minimal-ui,一直强调人性化设计的苹果为iOS 7.1的Safari准备的,因为在这之前每次打开页面总会显示顶部地址栏和底部导航栏,使得用户每次都要再次点击页面隐藏掉,所以为了用户体验你的网站,可以加上这个呦!!这个标签用于移动端的适配。
2.<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
http类型:这个网页是表现内容用的
content(内容类型):这个网页的格式是文本的
charset(编码):这个网页的编码是UTF-8,需要注意的是这个是网页内容的编码,而不是文件本身的.编码不用说,content常见的还有xml等类型
同时,与之想像还有这么一句<meta http-equiv="Content-Type" Content="text/html",Charset=gb2312">
该META标签定义了HTML页面所使用的字符集为GB2132,就是国标汉字码.如果将其中的"charset=GB2312"换成"BIG5",则该页面所用的字符集就是繁体中文Big5码.当你浏览一些国外的站点时.IE浏览器会提示你要正确显示该页面需要下载xx语支持.这个功能就是通过读取HTML页面meta标签的Content-Type属性而得知需要使用哪种字符集显示该页面的.如果系统里没有装相应的字符集,则IE就提示下载.其他的语言也对应不同的charset,比如日文的字符集是“iso-2022-jp ”,韩文的是“ks_c_5601”。Content-Type的Content还可以是:text/xml等文档类型;
3.<meta name="apple-mobile-web-app-capable" content="yes">
这个标签的意思是删除苹果手机的工具栏和菜单栏,如果需要显示就不需要加了,因为content默认是no。
4.<meta name="apple-mobile-web-app-status-bar-style" content="black">
“apple-mobile-web-app-status-bar-style”作用是控制状态栏显示样式。默认样式是black-translucent酱紫的
content="black"是酱紫的
5.<meta name="format-detection" content="telephone=no">
format-detection翻译成中文的意思是“格式检测”,顾名思义,它是用来检测html里的一些格式的,那关于meta的format-detection属性主要是有以下几个设置:
meta name="format-detection" content="telephone=no"
meta name="format-detection" content="email=no"
meta name="format-detection" content="adress=no"
也可以连写:meta name="format-detection" content="telephone=no,email=no,adress=no"
下面具体说下每个设置的作用:
telephone
你明明写的一串数字没加链接样式,而iPhone会自动把你这个文字加链接样式、并且点击这个数字还会自动拨号!想去掉这个拨号链接该如何操作呢?这时我们的meta又该大显神通了,代码如下:
telephone=no就禁止了把数字转化为拨号链接!telephone=yes就开启了把数字转化为拨号链接,要开启转化功能,这个meta就不用写了,在默认是情况下就是开启!
email
告诉设备不识别邮箱,点击之后不自动发送
email=no禁止作为邮箱地址!email=yes就开启了把文字默认为邮箱地址,这个meta就不用写了,在默认是情况下就是开启!
adress
adress=no禁止跳转至地图!adress=yes就开启了点击地址直接跳转至地图的功能,在默认是情况下就是开启!
6. <meta http-equiv="Expires" content="-1">
Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT 比如:禁止页面在IE中缓存 http响应消息头部设置: CacheControl = no-cache Pragma=no-cache Expires = -1 Expires是个好东东,如果服务器上的网页经常变化,就把它设置为0,表示立即过期。
7. <meta http-equiv="Cache-Control" content="no-cache">
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="pragma" content="no-cache">,pragma与no-cache用于定义页面缓存,不缓存页面(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览.)
<meta http-equiv="cache-control" content="no-cache">,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private,其作用根据不同的重新浏览方式分为以下几种情况:
1) 打开新窗口 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)
2) 在地址栏回车 值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。 值为no-cache,那么每次都会访问。 值为max-age,则在过期之前不会重复访问。
3) 按后退按扭 值为private、must-revalidate、max-age,则不会重访问, 值为no-cache,则每次都重复访问
8. <meta http-equiv="Pragma" content="no-cache">
Pragma(cache模式)
说明:禁止浏览器从本地计算机的缓存中访问页面内容。
用法:<meta http-equiv="Pragma" content="no-cache">
注意:这样设定,访问者将无法脱机浏览
9. <meta name="full-screen" content="yes">
强制UC浏览器全屏
10.<meta name="browsermode" content="application">
进入UC应用模式 PS:UC进入应用模式后自动全屏
11.<meta name="x5-fullscreen" content="true">
强制QQ浏览器全屏
12.<meta name="x5-page-mode" content="app">
进入QQ应用模式
13.<meta name="format-detection" content="telephone=no" />
具体作用:禁止将页面中的一连串数字识别为电话号码、并设置为手机可以拨打的一个连接,应用于页面数字比较多的场景
14.<meta name="author" content="m.xx.com">
网络爬虫robot (Google,百度等搜索引擎)会读取网页中meta项将其作为索引,大家搜索网页时搜索“m.xx.com”时就会搜到这个网页了
15.<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。 通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置
这里的chrome=1不是说IE的技术增强了可以模拟Chrome浏览器,而是与谷歌开发的Google Chrome Frame(谷歌内嵌浏览器框架GCF)有关。这个插件可以让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核,并且支持Windows XP及以上系统的IE6/7/8。
而上文提到的那个meta标记,则是在是安装了GCF后,用来指定页面使用chrome内核来渲染
16.<meta name="renderer" content="webkit">
最后这个是360给我们带来的不错标签,可以使360浏览器自动切换至急速模式,使得页面兼容性大大的提高,不过其他浏览器暂时还没有统一。
细数meta标签的奥秘的更多相关文章
- HTML <meta> 标签,搜索引擎
关于Mate标签的详尽解释,请查看w3school 网址为:http://www.w3school.com.cn/tags/tag_meta.asp meta标签作用 META标签是HTML标记HEA ...
- html meta标签属性与内容
meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言, ...
- meta标签中的http-equiv属性使用介绍(转载)
meta是html语言head区的一个辅助性标签.也许你认为这些代码可有可无.其实如果你能够用好meta标签,会给你带来意想不到的效果,meta标签的作用有:搜索引擎优化(SEO),定义页面使用语言, ...
- Meta标签详解(HTML JAVASCRIPT)
Meta标签详解,在网上转的,希望对大家有用 您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种: ● 在搜索引擎中 ...
- html meta标签使用总结
meta标签作用 META标签是HTML标记HEAD区的一个关键标签,提供文档字符集.使用语言.作者等基本信息,以及对关键词和网页等级的设定等,最大的作用是能够做搜索引擎优化(SEO). PS:便于搜 ...
- HTML meta 标签用法(转)
meta主要为分HTTP标头信息(HTTP-EQUIV)和页面描述信息(NAME).标头信息包括文档类型.字符集.语言等浏览器正确显示网页的信息及处理动作:网页描述如内容的关键字.摘要.作者和定义ro ...
- 网页设计:Meta标签详解
很多人忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧! META标签是HTML语言HEAD区的一个辅 ...
- 常用meta标签举例说明
本文是作者从百度百科和其他从网页中搜索到的资料,经综合整理,把常用meta标签列举并示例说明,仅供参考. 1.<meta charset="UTF-8"> --- ch ...
- meta标签详解(meta标签的作用)///////////////////////////转
meta标签详解(meta标签的作用) 很多人却忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧 ...
随机推荐
- comodo firewall 科莫多离线安装
comodo firewall是什么?他配有HIPS,配置好规则就可以比杀软强不是一个两个档次,但是新手不建议使用. 注意:不用使用疯狂模式后锁屏,不然系统都打不开. 下载地址: https://do ...
- ip速度检测与云主机|VPS的抉择:bandwagonhost digitalocean hostWind Vultr Linode
最近的梯子断了,网站又被注销了.又到了挑vps的时间了.其实, 这些东西,烦死人了.挺浪费生命的. 首先速度测试, MTR测试 网站速度测试 17CE. http://tool.chinaz.com/ ...
- Elasticsearch-日期类型
Elasticsearch-日期类型 date类型用于存储日期和时间.它是这样运作的:通常提供一个表示日期的字符串,例如2019-06-25T22:47.然后,ES解析这个字符串,然后将其作为long ...
- mysql中的安全模式(sql_safe_updates)
什么是安全模式 在mysql中,如果在update和delete没有加上where条件,数据将会全部修改.不只是初识mysql的开发者会遇到这个问题,工作有一定经验的工程师难免也会忘记写入where条 ...
- 最简单MySQL教程详解(基础篇)之多表联合查询
在关系型数据库中,我们通常为了减少数据的冗余量将对数据表进行规范,将数据分割到不同的表中.当我们需要将这些数据重新合成一条时,就需要用到我们介绍来将要说到的表连接. 常用术语冗余(Redundancy ...
- Mybatis动态SQL之使用foreach完成复杂查询
一.foreach概述 对于一些SQL语句中含有in条件.需要迭代条件集合来生产的情况,就需要使用foreach标签来实现SQL条件的迭代.foreach主要用在构建in条件中,它可以在SQL语句中迭 ...
- JDK安装及JAVA环境变量配置(JDK1.8版本)
一:JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html JD ...
- 解决WordPress百度分享图标不显示问题
最近在帮朋友维护博客时,发现他的百度分享居然不能使用了,首先很多人会认为,百度分享挂在那里就是一种摆设,又没有几个人去分享,有什么含义呢?其实挂百度分享的含义是非常重要的,网站增加一个百度分享是可以增 ...
- java基础:强引用、弱引用、软引用和虚引用 (转)
出处文章: Java基础篇 - 强引用.弱引用.软引用和虚引用 谈谈Java对象的强引用,软引用,弱引用,虚引用分别是什么 整体结构 java提供了4中引用类型,在垃圾回收的时候,都有自己的各自特点. ...
- Linux服务器Java进程突然消失排查办法
出处:JAVA进程突然消失的原因? 问题描述 在实际生产环境下,如果我们遇见Java进程突然消失,该如何去排查问题? 思路 可能有几种原因: ①.Java应用程序的问题:发生OOM导致进程Crash ...