强制IE10在IE10兼容性视图中运行?

时间:2013-03-13 13:55:14

标签: internet-explorer internet-explorer-10

我有一个在IE10中破解但在IE10兼容性视图中运行良好的应用程序。

快速google结果
<meta http-equiv="X-UA-Compatible" content="IE=8">
<!-- plus variations such as emulate, quirks, 7, 8, 9 --->

标签。标签上的一些MS文档是here。如果按F12,则可以看到它更改了文档模式。我需要它将浏览器模式更改为Internet Explorer 10兼容性视图。是否有任何标签可以做到这一点?

enter image description here

更新 我需要提一下,我已经尝试了以下所有的doctypes,但没有一个工作。我认为在IE10中使用它的唯一方法是使用兼容性视图。

<!--
    <!DOCTYPE html>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    TRIED NO DOCTYPE AT ALL TOO
-->

8 个答案:

答案 0 :(得分:15)

如果您想在浏览器中设置兼容模式 不在html 中,请执行以下操作

  1. 打开IE 10
  2. 按ALT键以显示IE菜单栏
  3. 单击“工具”菜单
  4. 点击兼容性视图设置。
  5. 点击复选框;在兼容性视图中显示所有网站  
  6. 仅将所需网站添加到兼容性视图
  7. 如下图所示。然后应该使用IE 10兼容性视图打开网站。

    enter image description here

答案 1 :(得分:11)

您可以尝试:

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

就像你之前尝试过的那样,但要小心:

似乎X-UA兼容标签必须是&lt;&lt;头&gt;栏目

如果这个结论是正确的,那么我认为它在微软的博客/ msdn中没有记载(如果有文档证明,那么它在文档中的表现并不是很好)。确保这是强制IE9中第一个成功切换到IE8模式的元标记

答案 2 :(得分:6)

我有完全相同的问题,这个 - “meta http-equiv =”X-UA-Compatible“content =”IE = 7“&gt;”在IE8和IE9中运行良好,但在IE10中运行不佳。 .NET 2.0和.NET 4附带的服务器浏览器定义文件中存在一个错误,即它们包含特定浏览器版本的定义。但某些浏览器(如IE 10)的版本不再在这些范围内。因此,ASP.NET将它们视为未知浏览器,默认为低级定义,这有一些不便之处,例如它不支持JavaScript等功能。

感谢Scott Hanselman的解决方案。

这是链接 -

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

此MS KP修复程序只是将丢失的文件添加到服务器上的asp.net。我安装它并重新启动我的服务器,现在它完美无缺。我原本以为MS会给这个修补程序带来更广泛的分布。

瑞克

答案 3 :(得分:5)

我遇到了同样的问题。问题是MSIE 10中的一个错误,所以告诉人们解决他们的问题是没有用的。也没有告诉您网站的访问者将您的网站添加到兼容性视图,bleh。在我的情况下,问题是以下代码没有显示文本:

document.write ('<P>'); 
document.write ('Blah, blah, blah... ');
document.write ('</P>');

经过多次试验和错误,我确定删除&lt; P&gt;和&lt; / P&gt;标签导致文本在页面上正确显示(因此,问题是文档模式而不是浏览器模式,至少在我的情况下)。删除&lt; P&gt; userAgent为MSIE时的标签不是我想要放入页面的“修复”。

正如其他人所说,解决方案是:

<!DOCTYPE HTML whatever doctype you're using....> 
<HTML>
 <HEAD>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
  <TITLE>Blah...

是的,元标记必须是HEAD之后的第一个标记。

答案 4 :(得分:4)

虽然您应该修改您的网站,以便在没有兼容性视图的情况下运行,但尝试在开始X-UA-Compatible之前将<head>元标记作为第一件事,之前标题

答案 5 :(得分:1)

见这里:

https://softwareengineering.stackexchange.com/questions/194687/how-the-compatibility-view-in-ie-works-behind-the-scenes

使用

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

我刚尝试过,它在调试窗口中显示了IE10兼容模式。

答案 6 :(得分:1)

X-UA-Compatible meta元素仅更改文档模式,而不是浏览器模式。在请求页面之前选择浏览器模式,因此无法包含任何标记,JavaScript等更改此设置。虽然文档模式可以回退到渲染引擎的旧标准和怪癖模式,但浏览器模式只会改变浏览器识别的方式,例如用户代理字符串。

如果您想要更改所有用户的浏览器模式(而不是在工具中或通过设置手动更改),唯一的方法(AFAICT)是将您的网站添加到Microsoft的Copat视图列表中。 Microsoft维护此操作以将覆盖应用于中断的站点。有information on how to remove your site from the compat view list,但我无法找到要求您添加的内容。

然而,首选方法是首先尝试修复网站上的任何问题,因为当您不使用最新文档和浏览器模式运行时,您无法利用浏览器中的改进,例如提高性能。

答案 7 :(得分:0)

您应该尝试IE 5 quirks兼容性mod(是默认的IE10兼容性视图)

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

重要:设置在iframe结构的顶部(如果使用iframe结构)

更多信息12