繁体   English   中英

与X-UA兼容的元标记和浏览器重定向的问题

[英]Problems with X-UA-Compatible meta tag and browser redirect

我目前正在开发一个新的Web项目,并且在针对Internet Explorer进行优化时遇到一些问题(呵呵,谁会想到的?)...我想支持IE8 +,但将IE 7和更早版本重定向到其他页面,建议下载另一个浏览器。 对于IE8,我想显示一条消息,推荐另一个浏览器,但不重定向它。 在IE 9+中,一切正常。 我遇到的第一个问题是,IE10始终使用IE7标准在兼容模式下呈现页面,并使页面看起来很糟糕。 因此,我介绍了X-UA-Compatible元标记,如下所示:

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

然后我尝试使用IE7及以下版本实现重定向

<!--[if lte IE 7]> 
        <script type="text/javascript"> 
            document.location.href = "outdated.html"; 
        </script> 
<![endif]-->

使用F12在不同模式下在IE11中测试页面不会执行重定向,并在IE7及以下版本中显示页面糟糕,因此我假设X-UA-Compatible元标记破坏了条件注释。 但是,即使没有注释,所有低于IE10的IE版本也会被重定向,即使条件注释中显示“ lte IE 7” ...

我似乎无法自己解决此问题,因此将不胜感激! :)

干杯,罗布

如果从localhost或Intranet提供网站,则IE默认情况下使用兼容模式。

您可以在这里了解更多信息

在企业环境中,某些区域存在兼容性问题的风险较低。 例如,默认情况下,Intranet Zone网站使用兼容性视图。

您不能像使用元标记那样覆盖它。

相反,您需要发送HTTP标头:

X-UA-Compatible: IE=edge

在这里回答类似的问题

如果使用的是.NET,则可以使用IIS配置或在web.config文件中进行更改来添加此标头:

<httpProtocol>
    <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=Edge" />
    </customHeaders>
</httpProtocol>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM