被IE兼容模式困扰

5
我正在处理的网站URL出现在了Microsoft兼容性列表中。这意味着每次IE用户访问该网站时,都会强制使用IE9模式,这使得现代CSS或Javascript无法使用。
该网站的每个HTML文档的前6行如下所示。没有条件注释。我还尝试将标题放在<head>后面,但没有成功。</br><div class="h-2"></div><pre class="guess-HTML"><code><!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta charset="utf-8"> <title>...</title> </code></pre> <p>响应HTTP头部总是包含以下内容:</p> <pre class="guess-Ini"><code>X-UA-Compatible IE=Edge </code></pre></br><div class="h-2"></div>但是看起来似乎没有任何影响。唯一能强制IE退出IE9模式的是设置对话框中的此复选框。只有在取消选择时,该网站才以Edge模式显示。</br><div class="h-2"></div>此外,我最近发现Microsoft的iecompatdata.xml文件包含站点条目旁边的<code>featureSwitch="overrideXUACompatible:false"</code>属性。</br><div class="h-2"></div>还有其他什么方法可以尝试防止我的网站在IE兼容模式下显示吗?

你目前是如何实现X-UA-Compatible响应头的呢?使用PHP|htaccess吗?我能想到的另一个选项是,在服务器端使用浏览器版本而不是“edge”。无论如何,这就是我所做的。 - hexalys
使用以下代码:<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> - Dassina
3个回答

3
如果该网站在Microsoft的兼容性视图列表中,您需要让他们将其删除。
根据此页面,您需要向iepo@microsoft.com发送以下信息,并要求将您的网站从列表中删除:
  • 所有者名称
  • 公司职称
  • 电子邮件地址
  • 电话号码
  • 公司名称
  • 街道地址
  • 网站地址

1
将其作为标题发送。在解释元标记的时候,决策可能已经做出;但是使用标题则不会出现这种情况。
更多详细说明和指示请参见此SO帖子的答案

哦,很抱歉;我真的希望那能解决你的问题。 - John Haugeland
我怀疑兼容性列表 XML 文件中的 overrideXUACompatible 属性可能与此有关。 - Evgeny

0

你可能已经看到了这个... 使用标签关闭IE兼容模式

特别是这个响应可能会很有用...

"我发现如果用户(或系统管理员)通过转到“工具” ->“兼容性视图设置”并选中在兼容性视图中显示所有网站作为默认值,则这将无法起作用。要解决问题,我必须在HTTP响应中返回标头:X-UA-Compatible:IE=edge" – speedplane 2013年4月19日11:29

还有... "对于那些找到这个答案但无法使其工作的人的建议。 compatability元标记必须是第一个元标记,并且在标记之前不能有任何IE条件语句" 更多信息:tesmond.blogspot.com/2011/10/… – Chris Sobolewski

你的meta标记是否是页面上的第一个?


IE中没有这样的复选框。至少在IE11中没有。 - Evgeny
在此之前,您是否有任何其他元标记或IE条件语句? - nrd
没有任何:<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"> - Evgeny

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接