31

我有一个在 IE10 中损坏但在 IE10 兼容性视图中运行良好的应用程序。快速谷歌搜索结果

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

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

在此处输入图像描述

更新 我需要提一下,我已经尝试了以下所有文档类型,但它们都不起作用。我认为让它在 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
-->
4

8 回答 8

15

如果要在浏览器本身不是在 html中设置兼容模式,请执行以下操作

  1. 打开 IE 10
  2. 按 ALT 键调出 IE 菜单栏
  3. 点击工具菜单
  4. 单击兼容性视图设置。
  5. 点击复选框;在兼容性视图中显示所有网站
  6. 仅将所需网站添加到兼容性视图

如下图所示。然后该网站应以 IE 10 兼容性视图打开。

在此处输入图像描述

于 2013-04-10T07:29:21.823 回答
11

你可以试试 :

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

就像您之前尝试过的一样,但要小心:

似乎 X-UA-Compatible 标签必须是 <head> 部分中的第一个标签

如果这个结论是正确的,那么我相信它在 Microsoft 的 blogs/msdn 中没有记录(如果有记录,那么它在文档中的表现还不够好)。确保这是强制 IE9 成功切换到 IE8 模式中的第一个元标记

于 2013-04-10T07:51:59.127 回答
6

我遇到了完全相同的问题,这个 - "meta http-equiv="X-UA-Compatible" content="IE=7">" 在 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 会给这个修复更广泛的分布。

瑞克

于 2013-06-10T05:10:40.610 回答
5

我有同样的问题。问题是 MSIE 10 中的一个错误,因此告诉人们解决他们的问题是没有帮助的。也不是告诉您网站的访问者将您的网站添加到兼容性视图中,bleh。就我而言,问题在于以下代码不显示文本:

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

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

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

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

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

于 2013-09-28T00:28:19.693 回答
4

虽然您应该修复您的网站,使其在没有兼容性视图的情况下工作,但请尝试将X-UA-Compatible元标记作为开头之后的第一件事<head>标题之前

于 2013-03-30T19:17:14.093 回答
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 兼容模式。

于 2013-11-05T01:23:42.757 回答
1

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

如果您想为所有用户更改浏览器模式(而不是在工具中或通过设置手动更改),唯一的方法 (AFAICT) 是将您的网站添加到 Microsoft 的 Copat 视图列表中。这是由 Microsoft 维护的,以将覆盖应用于中断的站点。有关于如何从兼容视图列表中删除您的站点的信息,但我找不到请求添加您的信息。

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

于 2014-02-28T08:02:19.160 回答
0

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

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

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

更多信息1 , 2

于 2013-08-20T04:41:00.850 回答