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

use*_*073 31 internet-explorer internet-explorer-10

我有一个在IE10中破解的应用程序,但在IE10兼容性视图中运行良好.一个快速的谷歌结果

<meta http-equiv="X-UA-Compatible" content="IE=8">
<!-- plus variations such as emulate, quirks, 7, 8, 9 --->
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

更新 我需要提一下,我已经尝试了以下所有的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
-->
Run Code Online (Sandbox Code Playgroud)

Pat*_*uza 15

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

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

如下图所示.然后应该使用IE 10兼容性视图打开该网站.

在此输入图像描述


Pou*_*uki 11

你可以试试 :

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 这不会改变浏览器模式而是文档模式.我不知道是否有任何差异,但到目前为止我只能使用meta标签切换后者.另一方面,后者足以让我遇到麻烦的页面再次运行. (2认同)

小智 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会给这个修补程序带来更广泛的分布.

干草堆


Fre*_*hay 5

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

document.write ('<P>'); 
document.write ('Blah, blah, blah... ');
document.write ('</P>');
Run Code Online (Sandbox Code Playgroud)

经过多次试验和错误,我确定删除<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...
Run Code Online (Sandbox Code Playgroud)

是的,元标记必须是HEAD之后的FIRST标记.


Jon*_*ers 4

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