关于IE8兼容:X-UA-Compatible属性的解释

   2015-08-09 0
核心提示:这篇文章主要介绍了关于IE8兼容:X-UA-Compatible属性的解释,本文翻译自顶尖程序员问答社区StackOverFlow,需要的朋友可以参考下

问题描述:


复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />

1、这个到底是什么意思?

2、一些示例使用”,”分离IE的版本,而一些使用”;“,哪个正确?

3、我想知道IE=9; IE=8; IE=7; IE=EDGE顺序的含义。

在文档中使用了<!DOCTYPE>

答复:

对于IE8及以上版本,例如:


复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

强制浏览器按照特定的版本标准进行渲染。但不支持IE7及以下版本。如果用分号(;)分隔,对于不同的浏览器版本就有不同的兼容性,例如

复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

以上就表明,将IE8和IE7按照IE7标准渲染,但是IE9还是按照IE9的标准渲染。它允许有不同的向后兼容水平。尽管在真实情况中,你只要选择一种版本:

复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=8" />

这对于测试和维护会更加简单。而通常更加有用的方式就是进行仿真模拟

复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

对于IE=EDGE

复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

这意味着,会强制浏览器按照最新的标准去渲染。就像在Google’s CDN使用最新版本的JQuery一样,这是按照最新版本,但也可能由于没有固定的版本而破坏你的布局。

最后,考虑下面这个

复制代码
代码如下:
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />

添加”chrome=1“将允许站点在使用了谷歌浏览器内嵌框架(Chrome Frame)的客户端渲染,对于没有使用的,则没有任何影响。

复制代码
代码如下:

For more information, there is plenty to read here, and if you want to learn about ChromeFrame (which I recommend) you can learn about its implementation here.

PS:X-UA-Compatible是针对 IE8 版本的一个特殊文件头标记,用于为 IE8 指定不同的页面渲染模式,对于ie8之外的浏览器是不识别的。

目前绝大多数网站都用<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >来作为IE8的兼容方法。为了避免制作出的页面在IE8下面出现错误,建议直接将IE8使用IE7进行渲染。也就是直接在页面的header的meta标签中加入如下代码:

复制代码
代码如下:

<meta http-equiv=”X-UA-Compatible” content=”IE=7″ /></p> <p><meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ ></p> <p><meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE8″ >

但是<meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE7″ >仍然是首选。

StackOverFlow原链接;http://stackoverflow.com/questions/14611264/x-ua-compatible-content-ie-9-ie-8-ie-7-ie-edge?answertab=active#tab-top

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • react-native ViewPagerAndroid 坑1
    ViewPagerAndroid组件 在更新新的data时 页面显示空解决办法  在data发生变化时 传入新的data的长度ViewPagerAndroidkey={this.props.children.length}style={{ flex: 1 }}onPageScroll={this.onPageScroll}onScrollBeginDrag={this._onScrollBegin}scrollEn
    03-08
  • 使用create-react-app构建的项目(并引入react-app-polyfill做IE兼容)在开发环境下的IE浏览器中报错的解决方案
    使用create-react-app构建的项目(并引入react-
    个人所负责的一个项目,需要兼容IE11,所以已经按照react-app-polyfill官方指定的方案进行兼容配置即在项目src/index.js中:// The first lines in src/index.jsimport 'react-app-polyfill/ie11';import 'react-app-polyfill/stable';// other codes并在pack
    03-08
  • React-Native之ViewPagerAndroid的使用
    刚接触React-Native不久,我就被深深折服了。前几天做项目用到了ViewPager做广告页,在研究了一番官方文档之后,终于也是大体做出来了,今天就分享给大家吧。其实,大家如果使用过Android的ViewPager,那么你可能会很容易的去理解这个组件了。下面是实现的代
    03-08
  • Vue3+TypeScript 项目中,配置 ESLint 和 Prett
    接上篇:从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios文档同步项目gitee:https://gitee.com/lixin_ajax/vue3-vite-ts-pinia-vant-less.git 一、Eslint:用于检测代码安装eslint相关依赖yarn add eslint eslint-plugin-vue @typescript-esli
    03-08
  • JavaScript defineProperties
    function defineProperties(obj, properties){  function convertToDescriptor(desc)  {    function hasProperty(obj, prop)    {      return Object.prototype.hasOwnProperty.call(obj, prop);    }    function isCal
    03-08
  • JavaScript--操作cookie javascript中可以操作c
    Session和cookie都是用来存储数据的Cookie:位于用户的计算机上,用来维护用户计算机中的信息,直到用户删除,就是存储在你本地的数据,在存储的时候可以设置过期时间,使用场景很多,比如最常见的是用户登录某个网站,登录之后将用户的用户名和密码存cookie
    03-08
  • SuperMap iClient for JavaScript初入
    介绍SuperMap for Js的简单使用.推荐先看下这篇文档:SuperMap iClient for JavaScript 新手入门 , 个人感觉是要好于官方的新手入门文档的.使用SuperMap js 的核心流程如下:创建地图Map创建Layer /控件创建要素 / Marker /..将 要素 / Marker /.. 添加入图层 L
    03-08
  • JavaScript new Date()IE浏览器下出错 NaN
    当涉及到编程,与日期的工作可能是棘手的。然而,幸运的是,大多数语言都已经完成了这个困难的工作,并有一种内置的日期功能来帮助我们。JavaScript是具有有用的功能来帮助大量输出,设置日期。The JavaScript Date Object开始日期在JavaScript中你需要做的第
    03-08
  • [javascript] ie下audio不支持一些媒体类型
     ie下audio不支持一些媒体类型 , 所以需要进行兼容处理这里可以用js进行判断 ,  并加载不同的资源文件 , 这样就兼容了ieif (b.canPlayType('audio/ogg; codecs="vorbis"')) { }else{ie下加载不同的资源文件}audio id="chatMessageAudio"source id="chatMes
    03-08
  • [javascript] ie下不支持incudes属性和方法
    [javascript] ie下不支持incudes属性和方法
    在使用elemetui的时候 , 在ie11下面会遇到这个报错不支持incudes属性和方法数组.incudes("元素") 是检测数组中是否包含某元素支持的版本是  可以替换为 数组.indexOf("元素")0 
    03-08
点击排行