zoukankan      html  css  js  c++  java
  • 一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    x-ua-compatible 用来指定IE浏览器解析编译页面的model

    x-ua-compatible 头标签大小写不敏感,必须用在 head 中,必须在除 title 外的其他 meta 之前使用。
    1、使用一行代码来指定浏览器使用特定的文档模式。
    <meta http-equiv="x-ua-compatible" content="IE=9" >
    <meta http-equiv="x-ua-compatible" content="IE=8" >
    <meta http-equiv="x-ua-compatible" content="IE=7" >

    2、在一些情况下,我们需要限定浏览器对文档的解析到某一特定版本,或者将浏览器限定到一些旧版本的表现中。可以用如下的方式:
    <meta http-equiv="x-ua-compatible" content="IE=EmulateIE9" >
    <meta http-equiv="x-ua-compatible" content="IE=EmulateIE8" >
    <meta http-equiv="x-ua-compatible" content="IE=EmulateIE7" >

    使用这种写法,浏览器或者使用标准模式进行解析,或者使用 IE5 Quirks 模式进行解析。

    3、为了测试,我们也可以使用下面的语句指定浏览器按照最高的标准模式解析页面。
    <meta http-equiv="x-ua-compatible" content="IE=edge" >

    4、多个模式的指定。我们可以用逗号分割多个版本,这种情况下,浏览器会从这个列表中选择一个他所支持的最高版本来使用标准模式进行渲染。如下面的例子,在IE8进行浏览时,将会使用IE7的标准模式进行渲染,因为他本身不支持IE9和IE10。
    <meta http-equiv="x-ua-compatible" content="IE=7,9,10" >



    百度也应用了这种方案去解决IE的兼容问题,源代码如下

    <!Doctype html>
    <html xmlns=http://www.w3.org/1999/xhtml xmlns:bd=http://www.baidu.com/2010/xbdml>
    <head>
    <meta http-equiv=Content-Type content=“text/html;charset=utf-8″>
    <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>
    <title>百度一下,你就知道 </title>
    <script>var wpo={start:new Date*1,pid:109,page:‘superpage’}</script>
    <meta http-equiv=X-UA-Compatible content=IE=EmulateIE7>

    可以打开百度,右键查看源码看下!我们可以看下文件头是否存在这样一行代码!

    这句话的意思是强制使用IE7模式来解析网页代码!

    1.在这里送上几种IE使用模式!
    <meta http-equiv=“X-UA-Compatible” content=“IE=8″>


    2.Google Chrome Frame也可以让IE用上Chrome的引擎:
    <meta http-equiv=“X-UA-Compatible” content=“chrome=1″ />


    3.强制IE8使用IE7模式来解析
    <meta http-equiv=“X-UA-Compatible” content=“IE=EmulateIE7″><!– IE7 mode –>
    //或者
    <meta http-equiv=“X-UA-Compatible” content=“IE=7″><!– IE7 mode –>


    4.强制IE8使用IE6或IE5模式来解析
    <meta http-equiv=“X-UA-Compatible” content=“IE=6″><!– IE6 mode –>
    <meta http-equiv=“X-UA-Compatible” content=“IE=5″><!– IE5 mode –>


    5.如果一个特定版本的IE支持所要求的兼容性模式多于一种,如:
    <meta http-equiv=“X-UA-Compatible” content=“IE=5; IE=8″ />


    二.设定网站服务器以指定预设兼容性模式

    如果服务器是自己的话,可以在服务器上定义一个自订标头来为它们的网站预设一个特定的文件兼容性模式。这个特定的方法取决于你的网站服务器。

    录入,下列的 web.config文件使Microsoft Internet Information Services (IIS)能定义一个自订标头以自动使用IE7 mode来编译所有网页。

    另外还有一起其他的解决方案,例如google的

    ie7 – js中是一个JavaScript库(解决IE与W3C标准的冲突的JS库),使微软的Internet Explorer的行为像一个Web标准兼容的浏览器,支持更多的W3C标准,支持CSS2、CSS3选择器。它修复了许多的HTML和CSS问题,并使 得透明PNG在IE5、IE6下正确显示。

    使IE5,IE6兼容到IE7模式(推荐)
    <!–[if lt IE 7]>
    <script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE7.js” type=”text/javascript”></script>
    <![endif]–>


    使IE5,IE6,IE7兼容到IE8模式
    <!–[if lt IE 8]>
    <script src=”http://ie7-js.googlecode.com/svn/version/2.0(beta)/IE8.js” type=”text/javascript”></script>
    <![endif]–>


    使IE5,IE6,IE7,IE8兼容到IE9模式
    <!–[if lt IE 9]>
    <script src=”http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js”></script>
    <![endif]–>


    解决PNG显示问题

    只需将透明png图片命名为*-trans.png

    需要注意的是:此方法对背景平铺(background-repeat)和背景(background-position)无法起到任何作用,默认会占满整个容器。

    转载:http://hi.baidu.com/myplan/blog/item/cdb09dfa1fa748a99f514626.html


    三、<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    创建html5时发现这么一句话,不知其什么意思,百度如下:
    这样写可以达到的效果是如果安装了GCF,则使用GCF来渲染页面,如果没安装GCF,则使用最高版本的IE内核进行渲染。Google Chrome Frame(谷歌内嵌浏览器框架GCF)。这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。
    http://blog.csdn.net/abxn2002/article/details/7312459

    转自http://www.w3cfuns.com/notes/22891/7072479a25d101a1adba04bf7ddf305d.html

  • 相关阅读:
    c语言指针详解 经典
    C语言基础知识
    Android常用传感器用法一览(3)
    Android常用传感器用法一览(2)
    iOS UIKit
    iOS深度学习
    iOS深度学习
    UITableView 显示优化
    iOS 开发小记 (七)
    CoreAnimation
  • 原文地址:https://www.cnblogs.com/shoestrong/p/5525776.html
Copyright © 2011-2022 走看看