meta标签浏览器优先渲染的模式

来源:互联网 发布:义乌美工培训ywxdf 编辑:程序博客网 时间:2024/06/06 18:45
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<!--<META content='IE=7' http-equiv='X-UA-Compatible'>
X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,
这个区别与 content="IE=7"在无论页面是否包含<!DOCTYPE>指令,都像是使用了 Windows Internet Explorer 7的标准模式。
而content="IE=EmulateIE7"模式遵循<!DOCTYPE>指令。对于多数网站来说,它是首选的兼容性模式。
为了避免制作出的页面在IE8下面出现错误,建议直接将IE8使用IE7进行渲染。也就是直接在页面的header的meta标签中加入如下代码:
<meta http-equiv="X-UA-Compatible" content="IE=7" />
这样我们才能使得页面在IE8里面表现正常!-->

</head>
<body>
</body>
</html>


最近用360浏览器访问自己的网站,发现都是被优先选用兼容模式打开,这使得网站很难看。
为了让360浏览器打开网站的时候优先试用极速模式,找了一下官方论坛,发现了解决方案。 未验证!!!
<html>
  <head>
    <meta name="renderer" content="webkit|ie-comp|ie-stand"/>
  </head>
  <body>
  </body>
</html>
content的取值为webkit,ie-comp,ie-stand之一,区分大小写,分别代表用webkit内核,IE兼容内核,IE标准内核。 


若页面需默认用极速核,增加标签:<meta name="renderer" content="webkit" /> 


若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp"/> 


若页面需默认用ie标准内核,增加标签:<meta name="renderer" content="ie-stand"/> 






X-UA-Compatible是自从IE8新加的一个设置,对于IE8以下的浏览器是不识别的。 
通过在meta中设置X-UA-Compatible的值,可以指定网页的兼容性模式设置。
在网页中指定的模式优先权高于服务器中(通过HTTP Header)所指定的模式。 兼容性模式设置优先级:meta tag > http header


meta tag > http header
常用的例子:
<meta http-equiv="X-UA-Compatible" content="IE=7">  
#以上代码告诉IE浏览器,无论是否用DTD声明文档标准,IE8/9都会以IE7引擎来渲染页面。  
<meta http-equiv="X-UA-Compatible" content="IE=8">  
#以上代码告诉IE浏览器,IE8/9都会以IE8引擎来渲染页面。  
<meta http-equiv="X-UA-Compatible" content="IE=edge">  
#以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。  
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9">  
<meta http-equiv="X-UA-Compatible" content="IE=7,9">  
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
#以上代码IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame.
“IE=Edge,chrome=1″这样简单快捷,但是弊端是代码将无法通过W3C验证。
其实这并不是问题,毕竟标准只是标准,如果只有这一个“错误”完全不会有任何不良的影响。


Emulate IE8 mode #指示IE使用<!DOCTYPE>指令来决定如何编译内容。
Standards mode指令会显示成IE8 Standards mode而quirks mode会显示成IE5 mode。
不同于IE8 mode,Emulate IE8 mode重视<!DOCTYPE>指令。


Emulate IE7 mode #指示IE使用<!DOCTYPE>指令来决定如何编译内容。
Standards mode指令会显示成IE7 Standards mode而quirks mode会显示成IE5 mode。
不同于IE7 mode,Emulate IE7 mode重视<!DOCTYPE>指令。对于许多网页来说这是最推荐的兼容性模式。


IE5 mode #编译内容如同IE7的quirks mode之显示状况,和IE5中显示的非常类似。
IE7 mode #编译内容如同IE7的standards mode之显示状况,无论网页是否含有<!DOCTYPE>指令。
IE8 mode #提供对业界标准的最高支持,包含 W3C Cascading Style Sheets Level 2.1 Specification和W3C Selectors API,
并有限的支持 W3C Cascading Style Sheets Level 3 Specification (Working Draft)。


Edge mode #指示IE以目前可用的最高模式显示内容。当使用IE8时其等同于IE8 mode。若(假定)未来放出支持更高兼容性模式的IE,
使用Edge mode的页面会使用该版本能支持的最高模式来显示内容。同样的那些页面在使用IE8浏览时仍会照常显示。


注意事项:
1,根据官网定义X-UA-compatible 标头不区分大小写;不过,它必须显示在网页中除 title 元素和其他 meta 元素以外的所有其他元素之前。
如果不是的话,它不起作用
2,content的内容是IE=8,或者IE=edge等值,注意不是IE8或者直接写个edge的值,否则不起作用
如果对WEb服务器了解,可以直接配置一下VirtualHost: Apache:
<IfModule mod_setenvif.c>
  <IfModule mod_headers.c>
    BrowserMatch MSIE ie
    Header set X-UA-Compatible "IE=Edge" env=ie
    BrowserMatch chromeframe gcf
    Header append X-UA-Compatible "chrome=1" env=gcf
  </IfModule>
</IfModule>
< IfModule mod_setenvif .c >
< IfModule mod_headers .c >
BrowserMatch MSIE ie
Header set X - UA - Compatible "IE=Edge" env = ie
BrowserMatch chromeframe gcf
Header append X - UA - Compatible "chrome=1" env = gcf
< / IfModule >
< / IfModule >
add_header "X-UA-Compatible" "IE=Edge,chrome=1";
http://baike.baidu.com/view/2831140.htm