使用标记强制关闭IE兼容模式

我正在为在全部Intranet站点上强制兼容模式的客户端工做。 我想知道是否有一个标签,我能够放入个人HTML,强制兼容模式关闭。 php


#1楼

若是您正在使用Intranet区域中的页面,您可能会发现IE9不管您作什么,都会进入IE7 Compat模式。 css

这是由于IE兼容性设置中的设置代表全部Intranet站点都应以兼容模式运行。 您能够经过组策略解除此问题(或者只是在IE中简单地取消它),或者您能够设置如下内容: html

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

这有效(详见其余答案),但最初可能不会出现: 它须要在声明样式表以前出现。 若是不这样作,则会被忽略。 html5


#2楼

元标记解决方案不适合咱们,但在响应标头中设置它: web

header('X-UA-Compatible: IE=edge,chrome=1');

#3楼

根据我最近的经历,关于这个主题的几点说明。 我工做的大学用IE 8设置了适用于全部Intranet站点的兼容模式的笔记本电脑。 我尝试添加元标记以禁用个人网站提供的页面的此模式,但IE始终忽略此标记。 正如Lance在他的帖子中提到的,添加一个响应标题解决了这个问题。 这是我根据HTML5样板方法设置标头的方法: chrome

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=edge,chrome=1"
  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
  <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

为了实际发送此标头,您必须确保在Apache中启用了mod_headers。 若是你想确保你打开这个mod,把它放在一个能够运行php的页面中: apache

<pre>
<?php
    print_r(apache_get_modules());
?>
</pre>

#4楼

这是由于IE兼容性设置中的设置代表全部Intranet站点都应以兼容模式运行。 您能够经过组策略解除此问题(或者只是在IE中简单地取消它),或者您能够设置如下内容: 浏览器

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

显然,不可能将兼容性视图设置更改成组策略,但它能够在注册表中更改,这个元标记对我来讲很好,我必须使必需的属性做为html表单的一部分工做,它适用于chrome和firefox,但不适用于IE。 服务器

这是一个很好的视觉,了解哪些浏览器支持每一个单独的html 5元素。 app

http://html5readiness.com/

注意一个共同点谷歌Chrome,它支持一切。 但愿这有帮助


#5楼

正如在对相关问题的回答中所建议的,能够在Web.Config文件中设置“edge”模式。 这将使其适用于从应用程序返回的全部HTML,而无需将其插入单个页面:

<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="X-UA-Compatible" value="IE=edge" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

一样的步骤也能够经过使用IIS管理器为IIS服务器,整个网站或特定应用程序修改“HTTP响应标头”来完成。

相关文章
相关标签/搜索