[转载]强制不使用“兼容性视图”的HTML代码

2018-06-22 07:43:24来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在IE8浏览器以后版本,都有一个“兼容性视图”,让不少新技术无法使用。那么如何禁止浏览器自动选择“兼容性视图”,强制IE以最高级别的可用模式显示内容呢?下面就介绍一段HTML代码。

X-UA-Compatible是一个设置IE浏览器兼容模式的属性,在IE8浏览器之后诞生。IE8或者IE9有很多种模式,比如,IE8有4种模式:IE5.5怪异模式、IE7标准模式、IE8几乎标准模式、IE8标准模式;而IE9有7种模式: IE5.5怪异模式、IE7标准模式、IE8几乎标准模式、IE8标准模式、IE9几乎标准模式、IE9标准模式、XML模式。

在想要开启标准渲染模式的页面,我们常使用代码:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

来开启IE8的标准渲染模式。这种方式在只存在IE8浏览器的时候比较合适,但是后来又出现了IE9、IE10、IE11等等。我们就可以这样写:

<meta http-equiv="X-UA-Compatible" content="IE=9;IE=8;IE=7;" />

意思就是优先最前面的IE9,没IE9就用IE8。那么如果针对每一种都写一遍,似乎就有些冗余了。所以我们改变方式采用代码:

<meta http-equiv="X-UA-Compatible" content="edge" />

Edge模式通知IE以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。

当然,我们还见过这样的代码:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

就是增加了chrome=1值,目的是触发Google Chrome Frame,不过现在Google已经抛弃Google Chrome Frame了,因此也不用这样写了。

总结:

1)在目标页面的<head></head>标签,使用代码: <meta http-equiv="X-UA-Compatible" content="edge" /> 触发标准模式,这个是最有效的方法。这样设置后IE中设置兼容模式的按钮也会消失,可以按F12打开“开发人员工具”来检查浏览器模式。

2)当然你也可以在服务端代码C#/VB.NET进行设置,以VB.NET为例:

Public Shared Sub SetHeadCompatible(ByRef myPage As Page)
        Dim li As Literal = New Literal()
        li.Text = "<meta http-equiv='X-UA-Compatible' content='edge' />"
        myPage.Header.Controls.AddAt(0, li)
End Sub

3)上面所说的设置仅是在指定的页面中,没有设置的页面是不会有效果的。那如果想所有页面都有效果,总不能每个页面都去设置吧,此时可以在web Config中设置:

<system.webServer>
    <!-- Edge模式通知IE以最高级别的可用模式显示内容 -->
      <httpProtocol>
        <customHeaders>
          <clear/>
          <add name="X-UA-Compatible" value="IE=edge" />
        </customHeaders>
      </httpProtocol>
</system.webServer>

原文出处

作者:icech

链接:http://www.weste.net/2013/8-9/93109.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:在Web Api中集成protobuf

下一篇:微信开发 :WeixinPayInfoCollection尚未注册Mch 问题解决