关于content=”IE=edge,chrome=1″介绍-让网页优先采用Chrome渲染
2016-04-26 17:24
381 查看
摘要:1、如果支持Google Chrome Frame:GCF,则使用GCF渲染;2、如果系统安装ie8或以上版本,则使用最高版本ie渲染;3、否则,这个设定可以忽略。
Google Chrome Frame
w3.org的html5验证
总结
最近稍微了解了一下瀑布树这东东,在查看Wookmark jQuery plugin,注意到meta中有这么一句:
view
sourceprint
其中http-equiv=”X-UA-Compatible”这个是IE8的专用标记,是用来指定Internet Explorer 8 浏览器模拟某个特定版本IE浏览器的渲染方式,以此来解决IE浏览器的兼容问题。
以前css hacker常用的模拟IE7渲染方式的代码:
view
sourceprint
令我好奇的是文章第一段提到的代码中「content=”IE=edge,chrome=1″」一段,字面意思是指定IE使用chrome的渲染方式?还是让IE的皮使用后台的Chrome内核?
查了一下,这段是Google开发的一个Google Chrome Frame「Google Chrome 浏览器内嵌框架 – GCF」。使用GCF可以让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核,并且支持Windows XP及以上系统的IE6/7/8。
而第一段中提到的代码则是指定该页面使用Chrome内核来做渲染,前提是用户必须已经安装了Google
Chrome Frame。
官方对其定义:
可使用开放式网络技术(如 HTML5 canvas 标记)立即启动,甚至包括 Internet Explorer 6、7 或 8 尚不支持的技术。
利用 JavaScript 性能增强功能,使应用程序速度更快,响应更灵敏。
所以这段代码则可以解释为:如果安装了GCF,则使用GCF来渲染页面「”chrome=1″」,如果没有安装GCF,则使用最高版本的IE内核进行渲染「”IE=edge”」。
然而,下一个问题又来了,在w3.org的html5验证工具下:
介个也好解决,针对三种主流服务器,我们都可以在服务器端配置http equiv规则:
确保 mod_headers 和 mod_setenvif 是available的,然后在httpd.conf「新版Apache的配置文件是 apache2.conf」或者在.htaccess中加入以下规则:
view
sourceprint
只需要修改web.config文件,添加如下信息即可:
view
sourceprint
只需要找到ginx.conf并编辑,在server { }区域里(最好是闭合符前面起一行)添加下列代码即可:
view
sourceprint
如果支持Google Chrome Frame:GCF,则使用GCF渲染;
如果系统安装ie8或以上版本,则使用最高版本ie渲染;
否则,这个设定可以忽略。
你可以继续阅读相关【Google Chrome Frame , X-UA-Compatible】的文章。
Google Chrome Frame
w3.org的html5验证
总结
最近稍微了解了一下瀑布树这东东,在查看Wookmark jQuery plugin,注意到meta中有这么一句:
view
sourceprint
1.
<
meta
http-equiv
=
"X-UA-Compatible"
content
=
"IE=edge,chrome=1"
>
其中http-equiv=”X-UA-Compatible”这个是IE8的专用标记,是用来指定Internet Explorer 8 浏览器模拟某个特定版本IE浏览器的渲染方式,以此来解决IE浏览器的兼容问题。
以前css hacker常用的模拟IE7渲染方式的代码:
view
sourceprint
1.
<
meta
http-equiv
=
"X-UA-Compatible"
content
=
"IE=EmulateIE7"
>
令我好奇的是文章第一段提到的代码中「content=”IE=edge,chrome=1″」一段,字面意思是指定IE使用chrome的渲染方式?还是让IE的皮使用后台的Chrome内核?
Google Chrome Frame
查了一下,这段是Google开发的一个Google Chrome Frame「Google Chrome 浏览器内嵌框架 – GCF」。使用GCF可以让用户的IE浏览器外观不变,但用户在浏览网页时实际上使用的是Chrome的内核,并且支持Windows XP及以上系统的IE6/7/8。而第一段中提到的代码则是指定该页面使用Chrome内核来做渲染,前提是用户必须已经安装了Google
Chrome Frame。
官方对其定义:
可使用开放式网络技术(如 HTML5 canvas 标记)立即启动,甚至包括 Internet Explorer 6、7 或 8 尚不支持的技术。
利用 JavaScript 性能增强功能,使应用程序速度更快,响应更灵敏。
所以这段代码则可以解释为:如果安装了GCF,则使用GCF来渲染页面「”chrome=1″」,如果没有安装GCF,则使用最高版本的IE内核进行渲染「”IE=edge”」。
w3.org的html5验证
然而,下一个问题又来了,在w3.org的html5验证工具下:介个也好解决,针对三种主流服务器,我们都可以在服务器端配置http equiv规则:
1、apache服务器
确保 mod_headers 和 mod_setenvif 是available的,然后在httpd.conf「新版Apache的配置文件是 apache2.conf」或者在.htaccess中加入以下规则:view
sourceprint
1.
<
IfModule
mod_setenvif.c>
2.
<
IfModule
mod_headers.c>
3.
BrowserMatch chromeframe gcf
4.
Header append X-UA-Compatible "chrome=1" env=gcf
5.
</
IfModule
>
6.
</
IfModule
>
2、Windows Server在IIS7或者更高版本的服务器
只需要修改web.config文件,添加如下信息即可:view
sourceprint
01.
<
configuration
>
02.
<
system.webServer
>
03.
<
httpProtocol
>
04.
<
customHeaders
>
05.
<
add
name
=
"X-UA-Compatible"
value
=
"chrome=1"
/>
06.
</
customHeaders
>
07.
</
httpProtocol
>
08.
</
system.webServer
>
09.
</
configuration
>
3、Nginx服务器
只需要找到ginx.conf并编辑,在server { }区域里(最好是闭合符前面起一行)添加下列代码即可:view
sourceprint
1.
add_header "X-UA-Compatible" "IE=Edge, chrome=1";
总结
如果支持Google Chrome Frame:GCF,则使用GCF渲染;如果系统安装ie8或以上版本,则使用最高版本ie渲染;
否则,这个设定可以忽略。
你可以继续阅读相关【Google Chrome Frame , X-UA-Compatible】的文章。
相关文章推荐
- java事物隔离性和传播
- ActiveMQ高级特性:VirtualTopic
- Mnist训练环境选择参数配置
- org.apache.catalina.startup.Catalina stopServer 的解决办法
- C++ 单例模式中处理在类中声明一个指向一个自己的指针,在编译时显示定义的指针未定义的处理办法
- java.io.File.deleteOnExit()-生成临时文件,删除临时文件
- STL中的一些操作
- 列举MJExtension中的方法
- iOS学习笔记74-IOS多线程知识总结/队列概念/GCD/主队列/并行队列/全局队列/主队列/串行队列/同步任务/异步任务区别附代码
- 使用Nexus2.x为Maven3.x搭建私服构件仓库-----学习笔记
- 四轴飞行器组合导航非线性滤波算法
- iOS 通知的基本用法
- sed-1
- MySQL启动参数(二) —— key_buffer_size
- 简单类的定义和继承
- 模式
- NSSecureCoding协议进行对象编解码
- bzoj 3289: Mato的文件管理(莫队算法)
- 剑指offer----面试题11:数值的整数次方
- 自定义View之绘图篇(二):路径(Path)