如何在IE中禁用兼容性视图

问题描述 投票:73回答:8

我想知道如何阻止使用IE 8的用户进入兼容模式?

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

我发现这个标签,我认为这迫使人们保持IE-8模式,但我不太确定,不能检查,因为我有IE 9。

如果人们处于IE 9模式,我强迫他们不进入IE 8或IE 7兼容模式?

我试着将上面的代码放在我的代码中并转到IE 9 - >工具 - >兼容性视图(灰显)

但“兼容性视图设置”并未显示为灰色,似乎您可以通过那里添加该网站。

所以不应该禁用?

internet-explorer internet-explorer-8 internet-explorer-9 x-ua-compatible ie-compatibility-mode
8个回答
49
投票
<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

应强制您的页面以IE8标准呈现。用户可以将站点添加到兼容性列表,但此标记优先。

一种快速检查方法是加载页面并在地址栏中输入以下内容:

javascript:alert(navigator.userAgent) 

如果在字符串中看到IE7,则在兼容模式下加载,否则不加载。


91
投票

所有你需要的是强制禁用C.M.在IE中 - 只需粘贴此代码(在IE9和c.m.下将被禁用):

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

资料来源:http://twigstechtips.blogspot.com/2010/03/css-ie8-meta-tag-to-disable.html


68
投票

这应该足以迫使IE用户在任何IE版本中删除兼容模式:

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

但是,有一些需要注意的警告:

  • 上面的元标记应作为<head>下的第一个标记包含在内。只有<title>标签可以放在它上面。

如果你不这样做,你会在IE9 Dev Tools上出错:X-UA-Compatible META tag ignored because document mode is already finalized.

  • 如果你想要这个标记验证,请确保你记得用meta而不是/>关闭>标签。
  • IE11开始,边缘模式是首选的文档模式。要支持/启用它,请使用HTML5文档类型声明<!doctype html>
  • 如果你需要在qazxsw poi上支持web字体,请确保使用qazxsw poi。我测试了它,发现使用IE7时在<!DOCTYPE html>上渲染webfonts非常不可靠。

谷歌Chrome Frame的使用很受欢迎,但遗憾的是它将在本月,2014年1月的某个时候被删除。

IE7

广泛的相关信息<!doctype html>。使用它作为第一个元标记的提示是在前面提到的源<meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=1"> 上,已经更新。


9
投票

如果您正在使用ASP.NET MVC,我在_Layout的代码块中找到here可以很好地工作:

here

5
投票

FelixFett给出的答案对我有用。重申:

Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1")

我把它作为我代码中的第一个'meta'标签。我添加了10和11,因为这些是现在为Internet Explorer发布的版本。

我会对他的回答发表评论,但我没有足够高的声誉......


2
投票

在Apache中实现此目的的另一种方法是将@Code Response.AddHeader("X-UA-Compatible", "IE=edge,chrome=1") End Code <!DOCTYPE html> everything else 中的以下行放在您网站的根文件夹中(或Apache的配置文件中)。

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

这要求您启用.htaccessBrowserMatch "MSIE" isIE BrowserMatch "Trident" isIE Header set X-UA-Compatible "IE=edge" env=isIE 模块。

额外的HTTP标头仅发送到IE浏览器,而不是其他浏览器。


1
投票

在JSF我用过:

mod_headers

0
投票

向页面添加标记不会控制Internet控制面板中的UI(选择“工具” - >“选项”时出现的对话框)。如果您正在查看可能是google.com,msn.com,about:blank或example.com的主页,则Internet控制面板无法知道您网页的内容可能是什么,也无法下载它在后台。

看看mod_setenvif,它讨论了兼容模式以及如何为您的网站关闭它。

© www.soinside.com 2019 - 2024. All rights reserved.